\n }\n }\n\n return (\n \n \n \n \n {TransactionIcon()}\n \n {PlusMinusSymbol()}{Math.abs(transaction.getAmount())} sats\n \n \n \n \n {moment.unix(transaction.getTimeStamp()).fromNow()}\n \n \n \n \n {TransactionMoreDetails()}\n \n \n \n )\n}\n","import React from \"react\";\nimport {useHistory} from \"react-router-dom\";\n\nimport Card from '@material-ui/core/Card';\nimport Button from '@material-ui/core/Button';\nimport CardHeader from \"@material-ui/core/CardHeader\";\n\n// icons\nimport RecordVoiceOverIcon from '@material-ui/icons/RecordVoiceOver';\n\nimport useStyles from \"../../pages/wallet/styles\";\n\n\nexport default function LightningPeerListItem({\n peer,\n ...props\n}) {\n const classes = useStyles({\n clickable: true,\n });\n\n const history = useHistory();\n\n const onPeerClick = (event) => {\n event.preventDefault();\n console.log(\"Handling peer click...\");\n goToLightningNodePage();\n }\n\n const goToLightningNodePage = () => {\n const pubkey = peer.getPubKey();\n const host = getPeerHost();\n const port = getPeerPort();\n history.push(\"/app/lightningnode/\" + pubkey + \"/\" + host + \"/\" + port);\n };\n\n const getPeerHost = () => {\n const address = peer.getAddress();\n if (address == null) {\n return null;\n }\n const pieces = address.split(\":\");\n return pieces[0];\n }\n\n const getPeerPort = () => {\n const address = peer.getAddress();\n if (address == null) {\n return null;\n }\n const pieces = address.split(\":\");\n if (pieces.length < 2) {\n return null;\n }\n return pieces[1];\n }\n\n return (\n \n }\n title={`Pubkey: ${peer.getPubKey()}`}\n subheader={`Address: ${peer.getAddress()}`}\n // action={}\n />\n \n )\n}\n","import React from \"react\";\nimport {\n Box,\n LinearProgress,\n Typography\n} from \"@material-ui/core\";\nimport useStyles from \"../../pages/wallet/styles\";\n\nexport default function ChannelBalanceBar({\n channel,\n ...props\n}) {\n const classes = useStyles()\n\n return (\n \n \n \n Capacity\n {channel.getCapacity()}\n \n \n \n \n Local\n {channel.getLocalBalance()}\n \n \n \n Remote\n {channel.getRemoteBalance()}\n \n \n \n )\n}","import React, {useState} from \"react\";\nimport {\n Typography,\n Box,\n Chip,\n Card,\n} from \"@material-ui/core\";\nimport {useHistory} from \"react-router-dom\";\nimport useStyles from \"../../pages/wallet/styles\";\nimport moment from 'moment';\nimport ChannelBalanceBar from \"./ChannelBalanceBar\";\n\n\nexport default function ChannelItem({\n channel,\n ...props\n}) {\n const classes = useStyles({\n channelStatus: 'open',\n clickable: true,\n })\n\n const history = useHistory();\n\n const getTxId = (channel) => {\n var channelPoint = channel.getChannelPoint();\n if (channelPoint == null) {\n return null;\n }\n var pieces = channelPoint.split(\":\");\n return pieces[0];\n }\n\n const getOutputIndex = (channel) => {\n var channelPoint = channel.getChannelPoint();\n if (channelPoint == null) {\n return null;\n }\n var pieces = channelPoint.split(\":\");\n if (pieces.length < 2) {\n return null;\n }\n return pieces[1];\n }\n\n const goToChannelPage = (txId, outputIndex) => {\n history.push(\"/app/channel/\" + txId + \"/\" + outputIndex);\n };\n\n const onChannelClick = (event) => {\n event.preventDefault();\n console.log(\"Handling channel click...\");\n var txId = getTxId(channel);\n var outputIndex = getOutputIndex(channel);\n goToChannelPage(txId, outputIndex);\n }\n\n function ChannelDetailItem(label, value) {\n return \n \n {label}\n \n \n {value}\n \n \n }\n\n function ChannelDetailItemVertical(label, value) {\n return \n \n {label}\n \n \n {value}\n \n \n }\n\n\n return (\n \n \n \n \n \n \n \n \n \n {ChannelDetailItem(\"Pubkey\", `${channel.getRemotePubkey()}`)}\n {ChannelDetailItem(\"Channel Point\", `${channel.getChannelPoint()}`)}\n {/*{ChannelDetailItem(\"Total sats sent\", `${channel.getTotalSatoshisSent()}`)}*/}\n {/*{ChannelDetailItem(\"Total sats received\", `${channel.getTotalSatoshisReceived()}`)}*/}\n {ChannelDetailItem(\"Lifetime\", `${moment.duration(channel.getLifetime(), 'seconds').humanize()}`)}\n {ChannelDetailItem(\"Uptime\", `${moment.duration(channel.getUptime(), 'seconds').humanize()}`)}\n \n \n \n \n \n \n \n )\n}\n","import React, {useState} from \"react\";\nimport {Box, Chip, Typography,} from \"@material-ui/core\";\nimport {useHistory} from \"react-router-dom\";\n\n// styles\nimport useStyles from \"../../pages/wallet/styles\";\n\nimport moment from 'moment';\nimport Card from \"@material-ui/core/Card\";\nimport ChannelBalanceBar from \"../ChannelItem/ChannelBalanceBar\";\n\nexport default function PendingOpenChannelItem({\n pendingOpenChannel,\n ...props\n}) {\n const classes = useStyles({\n channelStatus: 'pending-open',\n clickable: true,\n })\n\n const history = useHistory();\n\n const [expanded, setExpanded] = useState(false);\n\n const handleExpandClick = (evt) => {\n evt.stopPropagation()\n setExpanded(!expanded);\n };\n\n const getTxId = (channel) => {\n var channelPoint = channel.getChannelPoint();\n if (channelPoint == null) {\n return null;\n }\n var pieces = channelPoint.split(\":\");\n return pieces[0];\n }\n\n const getOutputIndex = (channel) => {\n var channelPoint = channel.getChannelPoint();\n if (channelPoint == null) {\n return null;\n }\n var pieces = channelPoint.split(\":\");\n if (pieces.length < 2) {\n return null;\n }\n return pieces[1];\n }\n\n const goToChannelPage = (txId, outputIndex) => {\n history.push(\"/app/channel/\" + txId + \"/\" + outputIndex);\n };\n\n const onChannelClick = (event) => {\n event.preventDefault();\n console.log(\"Handling channel click...\");\n var channel = pendingOpenChannel.getChannel();\n var txId = getTxId(channel);\n var outputIndex = getOutputIndex(channel);\n goToChannelPage(txId, outputIndex);\n }\n\n function ChannelDetailItem(label, value) {\n return \n \n {label}\n \n \n {value}\n \n \n }\n\n const channel = pendingOpenChannel.getChannel();\n return (\n \n \n \n \n \n \n \n \n \n {ChannelDetailItem(\"Pubkey\", `${channel.getRemoteNodePub()}`)}\n {ChannelDetailItem(\"Channel Point\", `${channel.getChannelPoint()}`)}\n {/*{ChannelDetailItem(\"Lifetime\", `${moment.duration(channel.getLifetime(), 'seconds').humanize()}`)}*/}\n {/*{ChannelDetailItem(\"Uptime\", `${moment.duration(channel.getUptime(), 'seconds').humanize()}`)}*/}\n \n \n \n \n \n \n \n )\n}","import React, { useState, useEffect } from 'react';\n// import { useParams } from 'react-router-dom';\n// import {useHistory} from \"react-router-dom\";\nimport {\n Grid,\n Button,\n AppBar,\n Tabs,\n Tab,\n Box,\n} from \"@material-ui/core\";\n// import { useTheme } from \"@material-ui/styles\";\n\n// styles\nimport useStyles from \"./styles\";\n\n// components\nimport PageTitle from \"../../components/PageTitle\";\nimport Widget from \"../../components/Widget\";\nimport { Typography } from \"../../components/Wrappers\";\nimport ReceiveBitcoinDialog from \"../../components/ReceiveBitcoinDialog\";\nimport TransactionItem from \"../../components/TransactionItem\";\nimport LightningPeerListItem from \"../../components/LightningPeerListItem\";\nimport ChannelItem from \"../../components/ChannelItem\";\nimport PendingOpenChannelItem from \"../../components/PendingOpenChannelItem\";\n\nimport {\n lndGetInfoRequest,\n lndWalletBalanceRequest,\n lndGetTransactionsRequest,\n lndListPeersRequest,\n lndListChannelsRequest,\n lndPendingChannelsRequest,\n} from \"../../squeakclient/requests\"\nimport FormLabel from \"@material-ui/core/FormLabel\";\n\nexport default function WalletPage() {\n const classes = useStyles();\n\n const [lndInfo, setLndInfo] = useState(null);\n const [walletBalance, setWalletBalance] = useState(null);\n const [transactions, setTransactions] = useState([]);\n const [peers, setPeers] = useState(null);\n const [channels, setChannels] = useState(null);\n const [pendingChannels, setPendingChannels] = useState(null);\n const [value, setValue] = useState(0);\n const [receiveBitcoinDialogOpen, setReceiveBitcoinDialogOpen] = useState(false);\n\n function a11yProps(index) {\n return {\n id: `simple-tab-${index}`,\n 'aria-controls': `simple-tabpanel-${index}`,\n };\n }\n\n const handleChange = (event, newValue) => {\n setValue(newValue);\n };\n\n const handleClickOpenReceiveBitcoinDialog = () => {\n setReceiveBitcoinDialogOpen(true);\n };\n\n const handleCloseReceiveBitcoinDialog = () => {\n setReceiveBitcoinDialogOpen(false);\n };\n\n const getLndInfo = () => {\n lndGetInfoRequest(setLndInfo);\n };\n const getWalletBalance = () => {\n lndWalletBalanceRequest(setWalletBalance);\n };\n const getTransactions = () => {\n lndGetTransactionsRequest(setTransactions)\n };\n const listPeers = () => {\n lndListPeersRequest(setPeers);\n };\n const listChannels = () => {\n lndListChannelsRequest(setChannels);\n };\n const getPendingChannels = () => {\n lndPendingChannelsRequest(setPendingChannels);\n };\n\n const lndAvailable = () => {\n return lndInfo &&\n walletBalance &&\n transactions &&\n peers &&\n channels &&\n pendingChannels;\n };\n\n\n useEffect(()=>{\n getLndInfo()\n },[]);\n useEffect(()=>{\n getWalletBalance()\n },[]);\n useEffect(()=>{\n getTransactions()\n },[]);\n useEffect(()=>{\n listPeers()\n },[]);\n useEffect(()=>{\n listChannels()\n },[]);\n useEffect(()=>{\n getPendingChannels()\n },[]);\n\n function ReceiveBitcoinButton() {\n return (\n \n )\n }\n\n function NoBalanceContent() {\n return (\n \n Unable to connect to lightning node. Make sure that lnd is running and reload the page.\n
\n )\n }\n\n function InfoContentOld() {\n return (\n \n
identity_pubkey: {lndInfo.getIdentityPubkey()}
\n
alias: {lndInfo.getAlias()}
\n
num_pending_channels: {lndInfo.getNumPendingChannels()}
\n
num_active_channels: {lndInfo.getNumActiveChannels()}
\n
num_inactive_channels: {lndInfo.getNumInactiveChannels()}
\n
num_peers: {lndInfo.getNumPeers()}
\n
block_height: {lndInfo.getBlockHeight()}
\n
block_hash: {lndInfo.getBlockHash()}
\n
synced_to_chain: {lndInfo.getSyncedToChain().toString()}
\n
synced_to_graph: {lndInfo.getSyncedToGraph().toString()}
\n
\n )\n }\n\n function BalanceContent() {\n return (\n <>\n \n {BalanceGridItem()}\n \n >\n )\n }\n\n function NodeInfoContent() {\n return (\n <>\n \n {StatusGridItem()}\n \n >\n )\n }\n\n function TransactionsContent() {\n return (\n <>\n \n {TransactionsGridItem()}\n \n >\n )\n }\n\n function PeersContent() {\n return (\n <>\n \n {PeersGridItem()}\n \n >\n )\n }\n\n function BalanceGridItem() {\n return (\n \n \n \n \n \n {walletBalance.getTotalBalance()} sats\n \n \n \n \n Unconfirmed Balance (sats)\n \n \n {walletBalance.getUnconfirmedBalance()}\n \n \n \n \n Confirmed Balance (sats)\n \n \n {walletBalance.getConfirmedBalance()}\n \n \n \n {ReceiveBitcoinButton()}\n \n \n )\n }\n\n function StatusGridItem() {\n return (\n \n \n \n \n \n Node Pubkey\n \n {lndInfo.getIdentityPubkey()}\n \n \n \n Synced to Chain\n \n {lndInfo.getSyncedToChain().toString()}\n \n \n \n Synced to Graph\n \n {lndInfo.getSyncedToGraph().toString()}\n \n \n \n Block Height\n \n {lndInfo.getBlockHeight()}\n \n \n \n \n )\n }\n\n function TransactionsGridItem() {\n return (\n \n \n \n \n {transactions.map(transaction =>\n \n goToSqueakPage(transaction.getSqueakHash())}\n handleTransactionClick={() => console.log(\"clicked transaction\")}\n transaction={transaction}>\n \n \n )}\n \n \n \n \n )\n }\n\n function PeersGridItem() {\n return (\n \n \n \n \n {peers.map(peer =>\n \n goToSqueakPage(transaction.getSqueakHash())}\n handlePeerClick={() => console.log(\"clicked peer\")}\n peer={peer}>\n \n \n )}\n \n \n \n \n )\n }\n\n function ChannelsGridItem() {\n return (\n \n \n \n \n {pendingChannels.getPendingOpenChannelsList().map(pendingOpenChannel =>\n \n \n \n )}\n {channels.map(channel =>\n \n \n \n )}\n \n \n \n \n )\n }\n\n function TabPanel(props) {\n const { children, value, index, ...other } = props;\n\n return (\n \n {value === index && (\n
{children}
\n )}\n
\n );\n }\n\n function LightningTabs() {\n return (\n <>\n \n \n \n \n \n \n \n \n \n \n {BalanceContent()}\n \n \n {NodeInfoContent()}\n \n \n {TransactionsContent()}\n \n \n {PeersContent()}\n \n \n {ChannelsGridItem()}\n \n >\n )\n }\n\n function ReceiveBitcoinDialogContent() {\n return (\n <>\n \n >\n )\n }\n\n return (\n <>\n \n {lndAvailable()\n ? LightningTabs()\n : NoBalanceContent()\n }\n {ReceiveBitcoinDialogContent()}\n >\n );\n}\n","import { makeStyles } from \"@material-ui/styles\";\n\nexport default makeStyles(theme => ({\n dashedBorder: {\n border: \"1px dashed\",\n borderColor: theme.palette.primary.main,\n padding: theme.spacing(2),\n paddingTop: theme.spacing(4),\n paddingBottom: theme.spacing(4),\n marginTop: theme.spacing(1),\n },\n text: {\n marginBottom: theme.spacing(2),\n },\n}));\n","import { makeStyles } from \"@material-ui/styles\";\n\nexport default makeStyles(theme => ({\n widgetWrapper: {\n display: \"flex\",\n minHeight: \"100%\",\n },\n widgetHeader: {\n padding: theme.spacing(3),\n paddingBottom: theme.spacing(1),\n display: \"flex\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n },\n widgetRoot: {\n boxShadow: theme.customShadows.widget,\n },\n widgetBody: {\n paddingBottom: theme.spacing(3),\n paddingRight: theme.spacing(3),\n paddingLeft: theme.spacing(3),\n },\n noPadding: {\n padding: 0,\n },\n paper: {\n display: \"flex\",\n flexDirection: \"column\",\n flexGrow: 1,\n overflow: \"hidden\",\n },\n moreButton: {\n margin: -theme.spacing(1),\n padding: 0,\n width: 40,\n height: 40,\n color: theme.palette.text.hint,\n \"&:hover\": {\n backgroundColor: theme.palette.primary.main,\n color: \"rgba(255, 255, 255, 0.35)\",\n },\n },\n}));\n","import React, {useState, useEffect} from 'react';\nimport {\n Paper,\n IconButton,\n Menu,\n MenuItem,\n Typography,\n Grid,\n Box,\n Link,\n Dialog,\n DialogTitle,\n DialogContent,\n DialogContentText,\n TextField,\n DialogActions,\n Button,\n FormControl,\n InputLabel,\n Select,\n} from \"@material-ui/core\";\nimport { MoreVert as MoreIcon } from \"@material-ui/icons\";\nimport {useHistory} from \"react-router-dom\";\nimport classnames from \"classnames\";\n\n// styles\nimport useStyles from \"./styles\";\n\nimport Widget from \"../../components/Widget\";\nimport SqueakThreadItem from \"../../components/SqueakThreadItem\";\n\nimport {\n lndOpenChannelSyncRequest,\n} from \"../../squeakclient/requests\"\n\n\nexport default function OpenChannelDialog({\n open,\n pubkey,\n handleClose,\n ...props\n}) {\n var classes = useStyles();\n const history = useHistory();\n\n var [amount, setAmount] = useState(\"\");\n var [satperbyte, setSatperbyte] = useState(\"\");\n\n const resetFields = () => {\n setAmount(\"\");\n setSatperbyte(\"\");\n };\n\n const handleChangeAmount = (event) => {\n setAmount(event.target.value);\n };\n\n const handleChangeSatPerBytes = (event) => {\n setSatperbyte(event.target.value);\n };\n\n const handleResponse = (response) => {\n // TODO: go to channel page instead of showing alert.\n alert('Open channel pending.');\n };\n\n const handleErr = (err) => {\n alert('Error opening channel: ' + err);\n };\n\n const openChannel = (pubkey, amount) => {\n lndOpenChannelSyncRequest(pubkey, amount, satperbyte, handleResponse, handleErr);\n };\n\n // const goToProfilePage = (profileId) => {\n // history.push(\"/app/profile/\" + profileId);\n // };\n\n function handleSubmit(event) {\n event.preventDefault();\n console.log( 'pubkey:', pubkey);\n console.log( 'amount:', amount);\n console.log( 'satperbyte:', satperbyte);\n if (!amount) {\n alert('Amount cannot be empty.');\n return;\n }\n openChannel(pubkey, amount, satperbyte);\n handleClose();\n }\n\n function PubKeyInput() {\n return (\n \n )\n }\n\n function LocalFundingAmountInput() {\n return (\n \n )\n }\n\n function SatPerByteInput() {\n return (\n \n )\n }\n\n function CancelButton() {\n return (\n \n )\n }\n\n function OpenChannelButton() {\n return (\n \n )\n }\n\n return (\n \n )\n}\n","import React, { useState, useEffect } from 'react';\nimport { useParams } from 'react-router-dom';\nimport {useHistory} from \"react-router-dom\";\nimport {\n Grid,\n Button,\n AppBar,\n Tabs,\n Tab,\n Box,\n} from \"@material-ui/core\";\nimport { useTheme } from \"@material-ui/styles\";\nimport {\n ResponsiveContainer,\n ComposedChart,\n AreaChart,\n LineChart,\n Line,\n Area,\n PieChart,\n Pie,\n Cell,\n YAxis,\n XAxis,\n} from \"recharts\";\n\n// styles\nimport useStyles from \"./styles\";\n\n// components\nimport PageTitle from \"../../components/PageTitle\";\nimport Widget from \"../../components/Widget\";\nimport { Typography } from \"../../components/Wrappers\";\nimport OpenChannelDialog from \"../../components/OpenChannelDialog\";\nimport ChannelItem from \"../../components/ChannelItem\";\nimport PendingOpenChannelItem from \"../../components/PendingOpenChannelItem\";\n\nimport {\n lndGetInfo,\n lndWalletBalance,\n lndGetTransactions,\n lndListPeersRequest,\n lndListChannelsRequest,\n lndPendingChannelsRequest,\n lndConnectPeerRequest,\n lndDisconnectPeerRequest,\n} from \"../../squeakclient/requests\"\n\nexport default function LightningNodePage() {\n var classes = useStyles();\n var theme = useTheme();\n\n const history = useHistory();\n const { pubkey, host, port } = useParams();\n const [value, setValue] = useState(0);\n const [peers, setPeers] = useState(null);\n const [channels, setChannels] = useState(null);\n const [pendingChannels, setPendingChannels] = useState(null);\n const [openChannelDialogOpen, setOpenChannelDialogOpen] = useState(false);\n\n function a11yProps(index) {\n return {\n id: `simple-tab-${index}`,\n 'aria-controls': `simple-tabpanel-${index}`,\n };\n }\n\n const handleChange = (event, newValue) => {\n setValue(newValue);\n };\n\n const handleClickConnectPeer = () => {\n var lightningHost = host + \":\" + port;\n connectPeer(pubkey, lightningHost);\n };\n\n const handleClickOpenChannel = () => {\n console.log(\"Handle click open channel.\");\n setOpenChannelDialogOpen(true);\n };\n\n const handleCloseOpenChannelDialog = () => {\n setOpenChannelDialogOpen(false);\n };\n\n const handleClickDisconnectPeer = () => {\n disconnectPeer(pubkey);\n };\n\n const isConnected = () => {\n if (peers == null) {\n return false;\n }\n var i;\n for (i = 0; i < peers.length; i++) {\n if (pubkey == peers[i].getPubKey()) {\n return true;\n }\n }\n return false;\n };\n\n const hasChannelToPeer = () => {\n if (channels == null) {\n return false;\n }\n var i;\n for (i = 0; i < channels.length; i++) {\n if (pubkey == channels[i].getRemotePubkey()) {\n return true;\n }\n }\n return false;\n };\n\n const listPeers = () => {\n lndListPeersRequest(setPeers);\n };\n const listChannels = () => {\n lndListChannelsRequest(setChannels);\n };\n const getPendingChannels = () => {\n lndPendingChannelsRequest(setPendingChannels);\n };\n const connectPeer = (pubkey, host) => {\n lndConnectPeerRequest(pubkey, host, () => {\n reloadRoute();\n });\n };\n const disconnectPeer = (pubkey) => {\n lndDisconnectPeerRequest(pubkey, () => {\n reloadRoute();\n });\n };\n\n const reloadRoute = () => {\n history.go(0);\n };\n\n useEffect(()=>{\n listPeers()\n },[]);\n useEffect(()=>{\n listChannels()\n },[]);\n useEffect(()=>{\n getPendingChannels()\n },[]);\n\n function ConnectPeerButton() {\n return (\n <>\n \n \n \n
\n \n >\n )\n }\n\n function DisconnectPeerButton() {\n return (\n <>\n \n \n \n
\n \n >\n )\n }\n\n function OpenChannelButton() {\n return (\n <>\n \n \n \n
\n \n >\n )\n }\n\n function NodeInfoGridItem() {\n return (\n \n \n \n \n \n pubkey\n \n {pubkey}\n \n \n\n \n \n \n host\n \n {host}\n \n \n\n \n \n \n port\n \n {port}\n \n \n\n \n \n \n connected\n \n \n {IsConnected()}\n \n {isConnected()\n ? DisconnectPeerButton()\n : ConnectPeerButton()\n }\n \n \n\n \n \n \n channel to peer\n \n \n {HasChannelToPeer()}\n \n {hasChannelToPeer()\n ? OpenChannelButton()\n : OpenChannelButton()\n }\n \n \n\n \n \n )\n }\n\n function ChannelsGridItem() {\n var nodeChannels = channels.filter(channel => channel.getRemotePubkey() == pubkey);\n var nodePendingOpenChannels = pendingChannels.getPendingOpenChannelsList().filter(pendingOpenChannel => pendingOpenChannel.getChannel().getRemoteNodePub() == pubkey);\n return (\n \n \n \n \n {nodePendingOpenChannels.map(pendingOpenChannel =>\n \n \n \n \n )}\n {nodeChannels.map(channel =>\n \n \n \n \n )}\n \n \n \n \n )\n }\n\n function IsConnected() {\n return (\n isConnected().toString()\n )\n }\n\n function HasChannelToPeer() {\n return (\n hasChannelToPeer().toString()\n )\n }\n\n function NoPubkeyContent() {\n return (\n \n No pubkey.\n
\n )\n }\n\n function PubkeyContent() {\n return (\n <>\n \n {NodeInfoGridItem()}\n \n >\n )\n }\n\n function ChannelsContent() {\n if (channels == null || pendingChannels == null) {\n return (\n <>\n \n \n \n \n \n Unable to load channels\n \n \n \n \n \n >\n )\n }\n\n return (\n <>\n \n {ChannelsGridItem()}\n \n >\n )\n }\n\n function TabPanel(props) {\n const { children, value, index, ...other } = props;\n\n return (\n \n {value === index && (\n
{children}
\n )}\n
\n );\n }\n\n function LightningNodeTabs() {\n return (\n <>\n \n \n \n \n \n \n \n \n {PubkeyContent()}\n \n \n {ChannelsContent()}\n \n \n Show routes here\n \n >\n )\n }\n\n function OpenChannelDialogContent() {\n return (\n <>\n \n >\n )\n }\n\n return (\n <>\n \n {pubkey\n ? LightningNodeTabs()\n : NoPubkeyContent()\n }\n {OpenChannelDialogContent()}\n >\n );\n}\n","import { makeStyles } from \"@material-ui/styles\";\n\nexport default makeStyles(theme => ({\n dashedBorder: {\n border: \"1px dashed\",\n borderColor: theme.palette.primary.main,\n padding: theme.spacing(2),\n paddingTop: theme.spacing(4),\n paddingBottom: theme.spacing(4),\n marginTop: theme.spacing(1),\n },\n text: {\n marginBottom: theme.spacing(2),\n },\n}));\n","import { makeStyles } from \"@material-ui/styles\";\n\nexport default makeStyles(theme => ({\n widgetWrapper: {\n display: \"flex\",\n minHeight: \"100%\",\n },\n widgetHeader: {\n padding: theme.spacing(3),\n paddingBottom: theme.spacing(1),\n display: \"flex\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n },\n widgetRoot: {\n boxShadow: theme.customShadows.widget,\n },\n widgetBody: {\n paddingBottom: theme.spacing(3),\n paddingRight: theme.spacing(3),\n paddingLeft: theme.spacing(3),\n },\n noPadding: {\n padding: 0,\n },\n paper: {\n display: \"flex\",\n flexDirection: \"column\",\n flexGrow: 1,\n overflow: \"hidden\",\n },\n moreButton: {\n margin: -theme.spacing(1),\n padding: 0,\n width: 40,\n height: 40,\n color: theme.palette.text.hint,\n \"&:hover\": {\n backgroundColor: theme.palette.primary.main,\n color: \"rgba(255, 255, 255, 0.35)\",\n },\n },\n}));\n","import React, {useState, useEffect} from 'react';\nimport {\n Paper,\n IconButton,\n Menu,\n MenuItem,\n Typography,\n Grid,\n Box,\n Link,\n Dialog,\n DialogTitle,\n DialogContent,\n DialogContentText,\n TextField,\n DialogActions,\n Button,\n FormControl,\n InputLabel,\n Select,\n} from \"@material-ui/core\";\nimport { MoreVert as MoreIcon } from \"@material-ui/icons\";\nimport {useHistory} from \"react-router-dom\";\nimport classnames from \"classnames\";\n\n// styles\nimport useStyles from \"./styles\";\n\nimport Widget from \"../../components/Widget\";\nimport SqueakThreadItem from \"../../components/SqueakThreadItem\";\n\nimport {\n lndCloseChannelRequest,\n} from \"../../squeakclient/requests\"\n\n\nexport default function CloseChannelDialog({\n open,\n txId,\n outputIndex,\n handleClose,\n ...props\n}) {\n var classes = useStyles();\n const history = useHistory();\n\n var [amount, setAmount] = useState(0);\n\n const resetFields = () => {\n setAmount(0);\n };\n\n const handleChangeAmount = (event) => {\n setAmount(event.target.value);\n };\n\n const handleResponse = (response) => {\n // TODO: handle streaming response.\n // TODO: go to channel page instead of showing alert.\n };\n\n const handleErr = (err) => {\n alert('Error closing channel: ' + err.message);\n };\n\n const closeChannel = (txId, outputIndex) => {\n lndCloseChannelRequest(txId, outputIndex, handleResponse, handleErr);\n };\n\n function handleSubmit(event) {\n event.preventDefault();\n console.log( 'txId:', txId);\n console.log( 'outputIndex:', outputIndex);\n closeChannel(txId, outputIndex);\n handleClose();\n }\n\n function TxIdInput() {\n return (\n \n )\n }\n\n function OutputIndexInput() {\n return (\n \n )\n }\n\n function LocalFundingAmountInput() {\n return (\n \n )\n }\n\n function CancelButton() {\n return (\n \n )\n }\n\n function CloseChannelButton() {\n return (\n \n )\n }\n\n return (\n \n )\n}\n","import React, { useState, useEffect } from 'react';\nimport { useParams } from 'react-router-dom';\nimport {useHistory} from \"react-router-dom\";\nimport {\n Grid,\n Button,\n AppBar,\n Tabs,\n Tab,\n Box,\n} from \"@material-ui/core\";\nimport { useTheme } from \"@material-ui/styles\";\nimport {\n ResponsiveContainer,\n ComposedChart,\n AreaChart,\n LineChart,\n Line,\n Area,\n PieChart,\n Pie,\n Cell,\n YAxis,\n XAxis,\n} from \"recharts\";\n\n// styles\nimport useStyles from \"./styles\";\n\n// components\nimport PageTitle from \"../../components/PageTitle\";\nimport Widget from \"../../components/Widget\";\nimport { Typography } from \"../../components/Wrappers\";\nimport CloseChannelDialog from \"../../components/CloseChannelDialog\";\nimport ChannelItem from \"../../components/ChannelItem\";\n\nimport {\n lndListPeersRequest,\n lndListChannelsRequest,\n lndPendingChannelsRequest,\n} from \"../../squeakclient/requests\"\n\n\nexport default function LightningNodePage() {\n var classes = useStyles();\n var theme = useTheme();\n\n const history = useHistory();\n const { txId, outputIndex } = useParams();\n const [value, setValue] = useState(0);\n const [peers, setPeers] = useState(null);\n const [channels, setChannels] = useState(null);\n const [closeChannelDialogOpen, setCloseChannelDialogOpen] = useState(false);\n\n function a11yProps(index) {\n return {\n id: `simple-tab-${index}`,\n 'aria-controls': `simple-tabpanel-${index}`,\n };\n }\n\n const handleChange = (event, newValue) => {\n setValue(newValue);\n };\n\n const getChannelPoint = () => {\n return txId + \":\" + outputIndex;\n };\n\n const handleCloseCloseChannelDialog = () => {\n setCloseChannelDialogOpen(false);\n };\n\n const isChannelOpen = () => {\n if (channels == null) {\n return false;\n }\n var i;\n for (i = 0; i < channels.length; i++) {\n if (getChannelPoint() == channels[i].getChannelPoint()) {\n return true;\n }\n }\n return false;\n };\n\n const listPeers = () => {\n lndListPeersRequest(setPeers);\n };\n\n const listChannels = () => {\n lndListChannelsRequest(setChannels);\n };\n\n const handleClickCloseChannel = () => {\n console.log(\"Handle click close channel.\");\n setCloseChannelDialogOpen(true);\n };\n\n\n const reloadRoute = () => {\n history.go(0);\n };\n\n useEffect(()=>{\n listPeers()\n },[]);\n useEffect(()=>{\n listChannels()\n },[]);\n\n function CloseChannelButton() {\n return (\n <>\n \n \n \n
\n \n >\n )\n }\n\n function ChannelInfoGridItem() {\n return (\n \n \n \n \n \n channel point\n \n {txId + \":\" + outputIndex}\n \n \n\n \n \n \n channel status\n \n {\"channel status here\"}\n {isChannelOpen()\n ? CloseChannelButton()\n : \"no\"\n }\n \n \n\n \n \n )\n }\n\n function TabPanel(props) {\n const { children, value, index, ...other } = props;\n\n return (\n \n {value === index && (\n
{children}
\n )}\n
\n );\n }\n\n function ChannelTabs() {\n return (\n <>\n \n \n \n \n \n \n {ChannelInfoGridItem()}\n \n >\n )\n }\n\n function CloseChannelDialogContent() {\n return (\n <>\n \n >\n )\n }\n\n return (\n <>\n \n {ChannelTabs()}\n {CloseChannelDialogContent()}\n >\n );\n}\n","import { makeStyles } from \"@material-ui/styles\";\nimport tinycolor from \"tinycolor2\";\n\nexport default makeStyles(theme => ({\n layoutContainer: {\n height: 200,\n display: \"flex\",\n flexDirection: \"column\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n marginTop: theme.spacing(2),\n border: \"1px dashed\",\n borderColor: theme.palette.primary.main,\n position: \"relative\",\n },\n layoutText: {\n color: tinycolor(theme.palette.background.light)\n .darken()\n .toHexString(),\n },\n layoutButtonsRow: {\n width: \"100%\",\n display: \"flex\",\n justifyContent: \"space-between\",\n },\n layoutButton: {\n backgroundColor: theme.palette.background.light,\n width: 125,\n height: 50,\n outline: \"none\",\n border: \"none\",\n },\n layoutButtonActive: {\n backgroundColor: tinycolor(theme.palette.background.light)\n .darken()\n .toHexString(),\n },\n buttonsContainer: {\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"flex-start\",\n marginTop: theme.spacing(2),\n },\n notificationCallButton: {\n color: \"white\",\n marginBottom: theme.spacing(1),\n textTransform: \"none\",\n },\n codeContainer: {\n display: \"flex\",\n flexDirection: \"column\",\n marginTop: theme.spacing(2),\n },\n codeComponent: {\n flexGrow: 1,\n },\n notificationItem: {\n marginTop: theme.spacing(2),\n },\n notificationCloseButton: {\n position: \"absolute\",\n right: theme.spacing(2),\n },\n toastsContainer: {\n width: 400,\n marginTop: theme.spacing(6),\n right: 0,\n },\n progress: {\n visibility: \"hidden\",\n },\n notification: {\n display: \"flex\",\n alignItems: \"center\",\n background: \"transparent\",\n boxShadow: \"none\",\n overflow: \"visible\",\n },\n notificationComponent: {\n paddingRight: theme.spacing(4),\n },\n}));\n","import React, { useState } from \"react\";\nimport { Grid } from \"@material-ui/core\";\nimport { Close as CloseIcon } from \"@material-ui/icons\";\nimport { ToastContainer, toast } from \"react-toastify\";\nimport SyntaxHighlighter from \"react-syntax-highlighter\";\nimport { docco } from \"react-syntax-highlighter/dist/esm/styles/hljs\";\nimport classnames from \"classnames\";\n\n// styles\nimport \"react-toastify/dist/ReactToastify.css\";\nimport useStyles from \"./styles\";\n\n// components\nimport Widget from \"../../components/Widget/Widget\";\nimport PageTitle from \"../../components/PageTitle/PageTitle\";\nimport Notification from \"../../components/Notification\";\nimport { Typography, Button } from \"../../components/Wrappers/Wrappers\";\n\nconst positions = [\n toast.POSITION.TOP_LEFT,\n toast.POSITION.TOP_CENTER,\n toast.POSITION.TOP_RIGHT,\n toast.POSITION.BOTTOM_LEFT,\n toast.POSITION.BOTTOM_CENTER,\n toast.POSITION.BOTTOM_RIGHT,\n];\n\nexport default function NotificationsPage(props) {\n var classes = useStyles();\n\n // local\n var [notificationsPosition, setNotificationPosition] = useState(2);\n var [errorToastId, setErrorToastId] = useState(null);\n\n return (\n <>\n \n \n \n }\n closeOnClick={false}\n progressClassName={classes.notificationProgress}\n />\n \n \n \n There are few position options available for notifications. You\n can click any of them to change notifications position:\n \n \n
\n
\n
\n Click any position\n \n
\n changeNotificationPosition(3)}\n className={classnames(classes.layoutButton, {\n [classes.layoutButtonActive]: notificationsPosition === 3,\n })}\n />\n changeNotificationPosition(4)}\n className={classnames(classes.layoutButton, {\n [classes.layoutButtonActive]: notificationsPosition === 4,\n })}\n />\n changeNotificationPosition(5)}\n className={classnames(classes.layoutButton, {\n [classes.layoutButtonActive]: notificationsPosition === 5,\n })}\n />\n
\n
\n \n \n \n \n \n Different types of notifications for lost of use cases. Custom\n classes are also supported.\n \n \n handleNotificationCall(\"info\")}\n className={classnames(classes.notificationCallButton)}\n >\n Info Message\n \n handleNotificationCall(\"error\")}\n className={classnames(classes.notificationCallButton)}\n >\n Error + Retry Message\n \n handleNotificationCall(\"success\")}\n className={classnames(classes.notificationCallButton)}\n >\n Success Message\n \n
\n \n \n \n \n \n Notifications are created with the help of{\" \"}\n \n react-toastify\n \n \n \n
{`\n // import needed components, functions and styles\n import { ToastContainer, toast } from 'react-toastify';\n import 'react-toastify/dist/ReactToastify.css';\n\n const Page = () => {\n \n \n toast('Toast Message')}>\n show notification\n \n
\n };\n `}\n
\n For more API information refer to the library documentation\n \n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n >\n );\n\n // #############################################################\n function sendNotification(componentProps, options) {\n return toast(\n ,\n options,\n );\n }\n\n function retryErrorNotification() {\n var componentProps = {\n type: \"message\",\n message: \"Message was sent successfully!\",\n variant: \"contained\",\n color: \"success\",\n };\n toast.update(errorToastId, {\n render: ,\n type: \"success\",\n });\n setErrorToastId(null);\n }\n\n function handleNotificationCall(notificationType) {\n var componentProps;\n\n if (errorToastId && notificationType === \"error\") return;\n\n switch (notificationType) {\n case \"info\":\n componentProps = {\n type: \"feedback\",\n message: \"New user feedback received\",\n variant: \"contained\",\n color: \"primary\",\n };\n break;\n case \"error\":\n componentProps = {\n type: \"message\",\n message: \"Message was not sent!\",\n variant: \"contained\",\n color: \"secondary\",\n extraButton: \"Resend\",\n extraButtonClick: retryErrorNotification,\n };\n break;\n default:\n componentProps = {\n type: \"shipped\",\n message: \"The item was shipped\",\n variant: \"contained\",\n color: \"success\",\n };\n }\n\n var toastId = sendNotification(componentProps, {\n type: notificationType,\n position: positions[notificationsPosition],\n progressClassName: classes.progress,\n onClose: notificationType === \"error\" && (() => setErrorToastId(null)),\n className: classes.notification,\n });\n\n if (notificationType === \"error\") setErrorToastId(toastId);\n }\n\n function changeNotificationPosition(positionId) {\n setNotificationPosition(positionId);\n }\n}\n\n// #############################################################\nfunction CloseButton({ closeToast, className }) {\n return ;\n}\n","import { makeStyles } from \"@material-ui/styles\";\n\nexport default makeStyles(theme => ({\n mapContainer: {\n height: \"100%\",\n margin: -theme.spacing(1) * 3,\n },\n}));","import React from \"react\";\nimport {\n withGoogleMap,\n withScriptjs,\n GoogleMap,\n Marker,\n} from \"react-google-maps\";\n\n// styles\nimport useStyles from \"./styles\";\n\nconst BasicMap = withScriptjs(\n withGoogleMap(() => (\n \n \n \n )),\n);\n\nexport default function Maps() {\n var classes = useStyles();\n\n return (\n \n
}\n containerElement={
}\n mapElement={
}\n />\n
\n );\n}\n","import { makeStyles } from \"@material-ui/styles\";\n\nexport default makeStyles(theme => ({\n widgetWrapper: {\n display: \"flex\",\n minHeight: \"100%\",\n },\n widgetHeader: {\n padding: theme.spacing(3),\n paddingBottom: theme.spacing(1),\n display: \"flex\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n },\n widgetRoot: {\n boxShadow: theme.customShadows.widget,\n },\n widgetBody: {\n paddingBottom: theme.spacing(3),\n paddingRight: theme.spacing(3),\n paddingLeft: theme.spacing(3),\n },\n noPadding: {\n padding: 0,\n },\n paper: {\n display: \"flex\",\n flexDirection: \"column\",\n flexGrow: 1,\n overflow: \"hidden\",\n },\n moreButton: {\n margin: -theme.spacing(1),\n padding: 0,\n width: 40,\n height: 40,\n color: theme.palette.text.hint,\n \"&:hover\": {\n backgroundColor: theme.palette.primary.main,\n color: \"rgba(255, 255, 255, 0.35)\",\n },\n },\n}));\n","import React, {useState, useEffect} from 'react';\nimport {\n Paper,\n IconButton,\n Menu,\n MenuItem,\n Typography,\n Grid,\n Box,\n Link,\n Dialog,\n DialogTitle,\n DialogContent,\n DialogContentText,\n TextField,\n DialogActions,\n Button,\n FormControl,\n InputLabel,\n Select,\n} from \"@material-ui/core\";\nimport { MoreVert as MoreIcon } from \"@material-ui/icons\";\nimport {useHistory} from \"react-router-dom\";\nimport classnames from \"classnames\";\n\n// styles\nimport useStyles from \"./styles\";\n\nimport Widget from \"../../components/Widget\";\nimport SqueakThreadItem from \"../../components/SqueakThreadItem\";\n\nimport {\n createSigningProfileRequest,\n} from \"../../squeakclient/requests\"\n\n\nexport default function CreateSigningProfileDialog({\n open,\n handleClose,\n ...props\n}) {\n var classes = useStyles();\n const history = useHistory();\n\n var [profileName, setProfileName] = useState('');\n\n const resetFields = () => {\n setProfileName('');\n };\n\n const handleChangeProfileName = (event) => {\n setProfileName(event.target.value);\n };\n\n const handleResponse = (response) => {\n goToProfilePage(response.getProfileId());\n };\n\n const handleErr = (err) => {\n alert('Error creating contact profile: ' + err.message);\n };\n\n const createSigningProfile = (profileName) => {\n createSigningProfileRequest(profileName, handleResponse, handleErr);\n };\n\n const goToProfilePage = (profileId) => {\n history.push(\"/app/profile/\" + profileId);\n };\n\n function handleSubmit(event) {\n event.preventDefault();\n console.log( 'profileName:', profileName);\n if (!profileName) {\n alert('Profile Name cannot be empty.');\n return;\n }\n createSigningProfile(profileName);\n handleClose();\n }\n\n function CreateSigningProfileNameInput() {\n return (\n \n )\n }\n\n function CancelButton() {\n return (\n \n Cancel\n \n )\n }\n\n function CreateSigningProfilButton() {\n return (\n \n Create Signing Profile\n \n )\n }\n\n return (\n \n )\n}\n","import React, {useState, useEffect} from 'react';\nimport {useHistory} from \"react-router-dom\";\nimport {\n Grid,\n Button,\n Paper,\n Tabs,\n Tab,\n AppBar,\n Box,\n Typography,\n } from \"@material-ui/core\";\nimport MUIDataTable from \"mui-datatables\";\n\n// styles\nimport {makeStyles} from '@material-ui/core/styles';\n\n// components\nimport PageTitle from \"../../components/PageTitle\";\nimport Widget from \"../../components/Widget\";\nimport Table from \"../dashboard/components/Table/Table\";\nimport CreateSigningProfileDialog from \"../../components/CreateSigningProfileDialog\";\nimport CreateContactProfileDialog from \"../../components/CreateContactProfileDialog\";\n\n// data\nimport mock from \"../dashboard/mock\";\n\nimport {\n getSigningProfilesRequest,\n getContactProfilesRequest,\n} from \"../../squeakclient/requests\"\n\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n '& > *': {\n margin: theme.spacing(1)\n }\n }\n}));\n\nexport default function Profiles() {\n const classes = useStyles();\n const [signingProfiles, setSigningProfiles] = useState([]);\n const [contactProfiles, setContactProfiles] = useState([]);\n const [createSigningProfileDialogOpen, setCreateSigningProfileDialogOpen] = useState(false);\n const [createContactProfileDialogOpen, setCreateContactProfileDialogOpen] = useState(false);\n const [value, setValue] = useState(0);\n const history = useHistory();\n\n function a11yProps(index) {\n return {\n id: `simple-tab-${index}`,\n 'aria-controls': `simple-tabpanel-${index}`,\n };\n }\n\n const handleChange = (event, newValue) => {\n setValue(newValue);\n };\n\n const loadSigningProfiles = () => {\n getSigningProfilesRequest(setSigningProfiles);\n };\n const loadContactProfiles = () => {\n getContactProfilesRequest(setContactProfiles);\n };\n\n const goToProfilePage = (profileId) => {\n history.push(\"/app/profile/\" + profileId);\n };\n\n const handleClickOpenCreateSigningProfileDialog = () => {\n setCreateSigningProfileDialogOpen(true);\n };\n\n const handleCloseCreateSigningProfileDialog = () => {\n setCreateSigningProfileDialogOpen(false);\n };\n\n const handleClickOpenCreateContactProfileDialog = () => {\n setCreateContactProfileDialogOpen(true);\n };\n\n const handleCloseCreateContactProfileDialog = () => {\n setCreateContactProfileDialogOpen(false);\n };\n\n useEffect(() => {\n loadSigningProfiles()\n }, []);\n useEffect(() => {\n loadContactProfiles()\n }, []);\n\n function TabPanel(props) {\n const { children, value, index, ...other } = props;\n\n return (\n \n {value === index && (\n
{children}
\n )}\n
\n );\n }\n\n function ProfilesTabs() {\n return (\n <>\n \n \n \n \n \n \n \n {SigningProfilesContent()}\n \n \n {ContactProfilesContent()}\n \n >\n )\n }\n\n function SigningProfilesContent() {\n return (\n <>\n \n \n \n {CreateSigningProfileButton()}\n {ShowProfiles(\"Signing profiles\", signingProfiles)}\n \n \n \n >\n )\n }\n\n function ContactProfilesContent() {\n return (\n <>\n \n \n \n {CreateContactProfileButton()}\n {ShowProfiles(\"Contact profiles\", contactProfiles)}\n \n \n \n >\n )\n }\n\n function CreateSigningProfileButton() {\n return (\n <>\n \n \n {\n handleClickOpenCreateSigningProfileDialog();\n }}>Create Signing Profile\n \n
\n \n >\n )\n }\n\n function CreateContactProfileButton() {\n return (\n <>\n \n \n {\n handleClickOpenCreateContactProfileDialog();\n }}>Add contact\n \n
\n \n >\n )\n }\n\n function ShowProfiles(title, profiles) {\n return (\n <>\n \n \n \n [\n p.getProfileId(),\n p.getProfileName(),\n p.getAddress(),\n p.getFollowing().toString(),\n p.getSharing().toString(),\n ]\n )}\n columns={[\n {\n name: \"Id\",\n options: {\n display: false,\n }\n },\n \"Name\", \"Address\", \"Following\", \"Sharing\"\n ]}\n options={{\n filter: false,\n print: false,\n viewColumns: false,\n selectableRows: \"none\",\n onRowClick: rowData => {\n var id = rowData[0];\n var address = rowData[2];\n //goToSqueakAddressPage(address);\n goToProfilePage(id);\n }\n }}/>\n \n \n >\n )\n }\n\n function CreateSigningProfileDialogContent() {\n return (\n <>\n \n >\n )\n }\n\n function CreateContactProfileDialogContent() {\n return (\n <>\n \n >\n )\n }\n\n return (\n <>\n < PageTitle title = \"Profiles\" />\n {ProfilesTabs()}\n {CreateSigningProfileDialogContent()}\n {CreateContactProfileDialogContent()}\n < />);\n}\n","import { makeStyles } from \"@material-ui/styles\";\n\nexport default makeStyles(theme => ({\n widgetWrapper: {\n display: \"flex\",\n minHeight: \"100%\",\n },\n widgetHeader: {\n padding: theme.spacing(3),\n paddingBottom: theme.spacing(1),\n display: \"flex\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n },\n widgetRoot: {\n boxShadow: theme.customShadows.widget,\n },\n widgetBody: {\n paddingBottom: theme.spacing(3),\n paddingRight: theme.spacing(3),\n paddingLeft: theme.spacing(3),\n },\n noPadding: {\n padding: 0,\n },\n paper: {\n display: \"flex\",\n flexDirection: \"column\",\n flexGrow: 1,\n overflow: \"hidden\",\n },\n moreButton: {\n margin: -theme.spacing(1),\n padding: 0,\n width: 40,\n height: 40,\n color: theme.palette.text.hint,\n \"&:hover\": {\n backgroundColor: theme.palette.primary.main,\n color: \"rgba(255, 255, 255, 0.35)\",\n },\n },\n}));\n","import React, { useState } from \"react\";\nimport {\n Paper,\n IconButton,\n Menu,\n MenuItem,\n Typography,\n Grid,\n Box,\n Link,\n} from \"@material-ui/core\";\nimport { MoreVert as MoreIcon } from \"@material-ui/icons\";\nimport {useHistory} from \"react-router-dom\";\nimport classnames from \"classnames\";\n\nimport LockIcon from '@material-ui/icons/Lock';\nimport DownloadIcon from '@material-ui/icons/CloudDownload';\n\n// styles\nimport useStyles from \"./styles\";\n\nimport Widget from \"../../components/Widget\";\n\nimport moment from 'moment';\n\nexport default function SentPayment({\n sentPayment,\n ...props\n}) {\n var classes = useStyles();\n\n const history = useHistory();\n\n const peerName = sentPayment.getPeerName();\n const peerId = sentPayment.getPeerId();\n const peerDisplay = peerName ? peerName : peerId;\n\n const goToSqueakPage = (hash) => {\n history.push(\"/app/squeak/\" + hash);\n };\n\n const goToPeerPage = (id) => {\n history.push(\"/app/Peer/\" + id);\n };\n\n const goToLightningNodePage = (pubkey, host, port) => {\n console.log(\"Go to lightning node for pubkey: \" + pubkey);\n if (pubkey && host && port) {\n history.push(\"/app/lightningnode/\" + pubkey + \"/\" + host + \"/\" + port);\n } else if (pubkey && host) {\n history.push(\"/app/lightningnode/\" + pubkey + \"/\" + host);\n } else {\n history.push(\"/app/lightningnode/\" + pubkey);\n }\n };\n\n const onSqueakClick = (event) => {\n event.preventDefault();\n var hash = sentPayment.getSqueakHash();\n console.log(\"Handling squeak click for hash: \" + hash);\n if (goToSqueakPage) {\n goToSqueakPage(hash);\n }\n }\n\n const onPeerClick = (event) => {\n event.preventDefault();\n var peerId = sentPayment.getPeerId();\n console.log(\"Handling peer click for peerId: \" + peerId);\n if (goToPeerPage) {\n goToPeerPage(peerId);\n }\n }\n\n const onLightningNodeClick = (event) => {\n event.preventDefault();\n var nodePubkey = sentPayment.getNodePubkey();\n console.log(\"Handling lightning node click for nodePubkey: \" + nodePubkey);\n if (goToLightningNodePage) {\n goToLightningNodePage(nodePubkey);\n }\n }\n\n console.log(sentPayment);\n return (\n \n \n \n \n {sentPayment.getPriceMsat()} msats\n \n \n \n \n \n {moment(sentPayment.getTimeMs()).format(\"DD MMM YYYY hh:mm a\")}\n \n \n \n \n Squeak hash:\n \n {sentPayment.getSqueakHash()}\n \n \n \n \n \n Peer:\n \n {peerDisplay}\n \n \n \n \n \n Lightning node:\n \n {sentPayment.getNodePubkey()}\n \n \n \n \n )\n}\n","import { makeStyles } from \"@material-ui/styles\";\n\nexport default makeStyles(theme => ({\n widgetWrapper: {\n display: \"flex\",\n minHeight: \"100%\",\n },\n widgetHeader: {\n padding: theme.spacing(3),\n paddingBottom: theme.spacing(1),\n display: \"flex\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n },\n widgetRoot: {\n boxShadow: theme.customShadows.widget,\n },\n widgetBody: {\n paddingBottom: theme.spacing(3),\n paddingRight: theme.spacing(3),\n paddingLeft: theme.spacing(3),\n },\n noPadding: {\n padding: 0,\n },\n paper: {\n display: \"flex\",\n flexDirection: \"column\",\n flexGrow: 1,\n overflow: \"hidden\",\n },\n moreButton: {\n margin: -theme.spacing(1),\n padding: 0,\n width: 40,\n height: 40,\n color: theme.palette.text.hint,\n \"&:hover\": {\n backgroundColor: theme.palette.primary.main,\n color: \"rgba(255, 255, 255, 0.35)\",\n },\n },\n}));\n","import React, { useState } from \"react\";\nimport {\n Paper,\n IconButton,\n Menu,\n MenuItem,\n Typography,\n Grid,\n Box,\n Link,\n} from \"@material-ui/core\";\nimport { MoreVert as MoreIcon } from \"@material-ui/icons\";\nimport {useHistory} from \"react-router-dom\";\nimport classnames from \"classnames\";\n\n// styles\nimport useStyles from \"./styles\";\n\nimport Widget from \"../../components/Widget\";\n\nimport moment from 'moment';\n\nexport default function ReceivedPayment({\n receivedPayment,\n ...props\n}) {\n var classes = useStyles();\n\n const history = useHistory();\n\n const paymentTimeMs = receivedPayment.getPaymentTimeMs();\n\n const goToSqueakPage = (hash) => {\n history.push(\"/app/squeak/\" + hash);\n };\n\n const onSqueakClick = (event) => {\n event.preventDefault();\n var hash = receivedPayment.getSqueakHash();\n console.log(\"Handling squeak click for hash: \" + hash);\n if (goToSqueakPage) {\n goToSqueakPage(hash);\n }\n }\n\n console.log(\"receivedPayment:\");\n console.log(receivedPayment);\n return (\n \n \n \n \n {receivedPayment.getPriceMsat()} msats\n \n \n \n \n \n {paymentTimeMs ?\n moment(receivedPayment.getPaymentTimeMs()).format(\"DD MMM YYYY hh:mm a\") : \"Not paid\"}\n \n \n \n \n Squeak hash:\n \n {receivedPayment.getSqueakHash()}\n \n \n \n \n \n Buyer address: {receivedPayment.getClientAddr()}\n \n \n \n )\n}\n","import React, {useState, useEffect} from 'react';\nimport {useHistory} from \"react-router-dom\";\nimport {\n Grid,\n Button,\n Paper,\n Tabs,\n Tab,\n AppBar,\n Box,\n Typography,\n } from \"@material-ui/core\";\nimport MUIDataTable from \"mui-datatables\";\n\n// styles\nimport {makeStyles} from '@material-ui/core/styles';\n\n// components\nimport PageTitle from \"../../components/PageTitle\";\nimport Widget from \"../../components/Widget\";\nimport Table from \"../dashboard/components/Table/Table\";\nimport SentPayment from \"../../components/SentPayment\";\nimport ReceivedPayment from \"../../components/ReceivedPayment\";\n\n\n// data\nimport mock from \"../dashboard/mock\";\n\nimport {\n getSentPaymentsRequest,\n getReceivedPaymentsRequest,\n} from \"../../squeakclient/requests\"\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n '& > *': {\n margin: theme.spacing(1)\n }\n }\n}));\n\nexport default function Payments() {\n const classes = useStyles();\n const [value, setValue] = useState(0);\n const [sentPayments, setSentPayments] = useState([]);\n const [receivedPayments, setReceivedPayments] = useState([]);\n const history = useHistory();\n\n function a11yProps(index) {\n return {\n id: `simple-tab-${index}`,\n 'aria-controls': `simple-tabpanel-${index}`,\n };\n }\n\n const handleChange = (event, newValue) => {\n setValue(newValue);\n };\n\n const loadSentPayments = () => {\n getSentPaymentsRequest((sentPaymentsReply) => {\n setSentPayments(sentPaymentsReply.getSentPaymentsList());\n });\n };\n\n const loadReceivedPayments = () => {\n getReceivedPaymentsRequest((receivedPaymentsReply) => {\n setReceivedPayments(receivedPaymentsReply.getReceivedPaymentsList());\n });\n };\n\n useEffect(() => {\n loadSentPayments()\n }, []);\n useEffect(() => {\n loadReceivedPayments()\n }, []);\n\n\n function TabPanel(props) {\n const { children, value, index, ...other } = props;\n\n return (\n \n {value === index && (\n
{children}
\n )}\n
\n );\n }\n\n function PaymentsTabs() {\n return (\n <>\n \n \n \n \n \n \n \n {SentPaymentsContent()}\n \n \n {ReceivedPaymentsContent()}\n \n >\n )\n }\n\n function SentPaymentsContent() {\n return (\n <>\n \n \n \n \n {sentPayments.map(sentPayment =>\n \n \n \n \n )}\n
\n \n \n \n >\n )\n }\n\n function ReceivedPaymentsContent() {\n return (\n <>\n \n \n \n \n {receivedPayments.map(receivedPayment =>\n \n \n \n \n )}\n
\n \n \n \n >\n )\n }\n\n return (\n <>\n < PageTitle title = \"Payments\" />\n {PaymentsTabs()}\n < />);\n}\n","import { makeStyles } from \"@material-ui/styles\";\n\nexport default makeStyles(theme => ({\n titleBold: {\n fontWeight: 600,\n },\n iconsBar: {\n marginBottom: theme.spacing(4),\n borderBottom: \"1px solid\",\n borderBottomColor: theme.palette.text.hint + \"80\",\n },\n tab: {\n color: theme.palette.primary.light + \"CC\",\n },\n materailIcon: {\n display: \"flex\",\n paddingLeft: `${theme.spacing(4)}px !important`,\n paddingRight: `${theme.spacing(4)}px !important`,\n color: theme.palette.text.secondary,\n fontSize: 24,\n overflowX: \"hidden\",\n },\n materialIconText: {\n marginLeft: theme.spacing(2),\n fontSize: 14,\n },\n iconsContainer: {\n boxShadow: theme.customShadows.widget,\n overflow: \"hidden\",\n paddingBottom: theme.spacing(2),\n },\n}));\n","import React, { useState } from \"react\";\nimport {\n Typography,\n Grid,\n Tabs,\n Tab,\n Paper,\n} from \"@material-ui/core\";\nimport * as Icons from \"@material-ui/icons\";\n\n// styles\nimport useStyles from \"./styles\";\n\n// components\nimport PageTitle from \"../../components/PageTitle/PageTitle\";\n\n\n// icons sets\nimport \"font-awesome/css/font-awesome.min.css\";\n\nexport default function IconsPage () {\n var classes = useStyles();\n\n // local\n var [activeTabId, setActiveTabId] = useState(0);\n\n return (\n <>\n \n \n setActiveTabId(id)}\n className={classes.iconsBar}\n >\n \n \n \n {activeTabId === 0 && (\n \n \n \n \n \n AccessAlarm\n \n \n \n \n \n AccessAlarms\n \n \n \n \n \n Accessibility\n \n \n \n \n \n Accessible\n \n \n \n \n \n AccessibleForward\n \n \n \n \n \n AccessTime\n \n \n \n \n \n AccountBalance\n \n \n \n \n \n AccountBalanceWallet\n \n \n \n \n \n AccountBox\n \n \n \n \n \n AccountCircle\n \n \n \n \n \n AcUnit\n \n \n \n \n Adb\n \n \n \n \n Adjust\n \n \n \n \n \n AirlineSeatFlat\n \n \n \n \n \n AirlineSeatFlatAngled\n \n \n \n \n \n AirlineSeatIndividualSuite\n \n \n \n \n \n AirlineSeatLegroomExtra\n \n \n \n \n \n AirlineSeatLegroomNormal\n \n \n \n \n \n AirlineSeatLegroomReduced\n \n \n \n \n \n AirlineSeatReclineExtra\n \n \n \n \n \n AirlineSeatReclineNormal\n \n \n \n \n \n AirplanemodeActive\n \n \n \n \n \n AirplanemodeInactive\n \n \n \n \n \n Airplay\n \n \n \n \n \n AirportShuttle\n \n \n \n \n \n Alarm\n \n \n \n \n \n Album\n \n \n \n \n \n AllInbox\n \n \n \n \n \n AllInclusive\n \n \n \n \n \n AllOut\n \n \n \n \n \n AlternateEmail\n \n \n \n \n \n Android\n \n \n \n \n \n Announcement\n \n \n \n \n Apps\n \n \n \n \n Archive\n \n \n \n \n \n ArrowBack\n \n \n \n \n \n ArrowBackIos\n \n \n \n \n \n ArrowDownward\n \n \n \n \n \n ArrowDropDown\n \n \n \n \n \n ArrowDropDownCircle\n \n \n \n \n \n ArrowDropUp\n \n \n \n \n \n ArrowForward\n \n \n \n \n \n ArrowForwardIos\n \n \n \n \n \n ArrowLeft\n \n \n \n \n \n ArrowRight\n \n \n \n \n \n ArrowRightAlt\n \n \n \n \n \n ArrowUpward\n \n \n \n \n \n ArtTrack\n \n \n \n \n \n AspectRatio\n \n \n \n \n \n Assessment\n \n \n \n \n \n Assignment\n \n \n \n \n \n AssignmentInd\n \n \n \n \n \n AssignmentLate\n \n \n \n \n \n AssignmentReturn\n \n \n \n \n \n AssignmentReturned\n \n \n \n \n \n AssignmentTurnedIn\n \n \n \n \n \n Assistant\n \n \n \n \n \n AssistantPhoto\n \n \n \n \n Atm\n \n \n \n \n AttachFile\n \n \n \n \n \n Attachment\n \n \n \n \n \n AttachMoney\n \n \n \n \n \n Audiotrack\n \n \n \n \n \n Autorenew\n \n \n \n \n \n AvTimer\n \n \n \n \n \n Backspace\n \n \n \n \n \n Backup\n \n \n \n \n \n Ballot\n \n \n \n \n \n BarChart\n \n \n \n \n \n Battery20\n \n \n \n \n \n Battery30\n \n \n \n \n \n Battery50\n \n \n \n \n \n Battery60\n \n \n \n \n \n Battery80\n \n \n \n \n \n Battery90\n \n \n \n \n \n BatteryAlert\n \n \n \n \n \n BatteryCharging20\n \n \n \n \n \n BatteryCharging30\n \n \n \n \n \n BatteryCharging50\n \n \n \n \n \n BatteryCharging60\n \n \n \n \n \n BatteryCharging80\n \n \n \n \n \n BatteryCharging90\n \n \n \n \n \n BatteryChargingFull\n \n \n \n \n \n BatteryFull\n \n \n \n \n \n BatteryStd\n \n \n \n \n \n BatteryUnknown\n \n \n \n \n \n BeachAccess\n \n \n \n \n \n Beenhere\n \n \n \n \n \n Block\n \n \n \n \n \n Bluetooth\n \n \n \n \n \n BluetoothAudio\n \n \n \n \n \n BluetoothConnected\n \n \n \n \n \n BluetoothDisabled\n \n \n \n \n \n BluetoothSearching\n \n \n \n \n \n BlurCircular\n \n \n \n \n \n BlurLinear\n \n \n \n \n Book\n \n \n \n \n Bookmark\n \n \n \n \n \n BookmarkBorder\n \n \n \n \n \n Bookmarks\n \n \n \n \n \n BorderAll\n \n \n \n \n \n BorderBottom\n \n \n \n \n \n BorderClear\n \n \n \n \n \n BorderColor\n \n \n \n \n \n BorderHorizontal\n \n \n \n \n \n BorderInner\n \n \n \n \n \n BorderLeft\n \n \n \n \n \n BorderOuter\n \n \n \n \n \n BorderRight\n \n \n \n \n \n BorderStyle\n \n \n \n \n \n BorderTop\n \n \n \n \n \n BorderVertical\n \n \n \n \n \n BrandingWatermark\n \n \n \n \n \n Brightness1\n \n \n \n \n \n Brightness2\n \n \n \n \n \n Brightness3\n \n \n \n \n \n Brightness4\n \n \n \n \n \n Brightness5\n \n \n \n \n \n Brightness6\n \n \n \n \n \n Brightness7\n \n \n \n \n \n BrightnessAuto\n \n \n \n \n \n BrightnessHigh\n \n \n \n \n \n BrightnessLow\n \n \n \n \n \n BrightnessMedium\n \n \n \n \n \n BrokenImage\n \n \n \n \n \n Brush\n \n \n \n \n \n BubbleChart\n \n \n \n \n \n BugReport\n \n \n \n \n \n Build\n \n \n \n \n \n BurstMode\n \n \n \n \n \n Business\n \n \n \n \n \n BusinessCenter\n \n \n \n \n \n Cached\n \n \n \n \n Cake\n \n \n \n \n CalendarToday\n \n \n \n \n \n CalendarViewDay\n \n \n \n \n Call\n \n \n \n \n CallEnd\n \n \n \n \n \n CallMade\n \n \n \n \n \n CallMerge\n \n \n \n \n \n CallMissed\n \n \n \n \n \n CallMissedOutgoing\n \n \n \n \n \n CallReceived\n \n \n \n \n \n CallSplit\n \n \n \n \n \n CallToAction\n \n \n \n \n \n Camera\n \n \n \n \n \n CameraAlt\n \n \n \n \n \n CameraEnhance\n \n \n \n \n \n CameraFront\n \n \n \n \n \n CameraRear\n \n \n \n \n \n CameraRoll\n \n \n \n \n \n Cancel\n \n \n \n \n \n CancelPresentation\n \n \n \n \n \n CardGiftcard\n \n \n \n \n \n CardMembership\n \n \n \n \n \n CardTravel\n \n \n \n \n \n Casino\n \n \n \n \n Cast\n \n \n \n \n CastConnected\n \n \n \n \n \n CastForEducation\n \n \n \n \n \n Category\n \n \n \n \n \n CellWifi\n \n \n \n \n \n CenterFocusStrong\n \n \n \n \n \n CenterFocusWeak\n \n \n \n \n \n ChangeHistory\n \n \n \n \n Chat\n \n \n \n \n ChatBubble\n \n \n \n \n \n ChatBubbleOutline\n \n \n \n \n \n Check\n \n \n \n \n \n CheckBox\n \n \n \n \n \n CheckBoxOutlineBlank\n \n \n \n \n \n CheckCircle\n \n \n \n \n \n CheckCircleOutline\n \n \n \n \n \n ChevronLeft\n \n \n \n \n \n ChevronRight\n \n \n \n \n \n ChildCare\n \n \n \n \n \n ChildFriendly\n \n \n \n \n \n ChromeReaderMode\n \n \n \n \n \n Class\n \n \n \n \n \n Clear\n \n \n \n \n \n ClearAll\n \n \n \n \n \n Close\n \n \n \n \n \n ClosedCaption\n \n \n \n \n \n Cloud\n \n \n \n \n \n CloudCircle\n \n \n \n \n \n CloudDone\n \n \n \n \n \n CloudDownload\n \n \n \n \n \n CloudQueue\n \n \n \n \n \n CloudUpload\n \n \n \n \n Code\n \n \n \n \n Collections\n \n \n \n \n \n CollectionsBookmark\n \n \n \n \n \n Colorize\n \n \n \n \n \n ColorLens\n \n \n \n \n \n Comment\n \n \n \n \n \n Commute\n \n \n \n \n \n Compare\n \n \n \n \n \n CompareArrows\n \n \n \n \n \n CompassCalibration\n \n \n \n \n \n Computer\n \n \n \n \n \n ConfirmationNumber\n \n \n \n \n \n ContactMail\n \n \n \n \n \n ContactPhone\n \n \n \n \n \n Contacts\n \n \n \n \n \n ContactSupport\n \n \n \n \n \n ControlCamera\n \n \n \n \n \n ControlPoint\n \n \n \n \n \n ControlPointDuplicate\n \n \n \n \n \n Copyright\n \n \n \n \n \n Create\n \n \n \n \n \n CreditCard\n \n \n \n \n Crop\n \n \n \n \n Crop169\n \n \n \n \n \n Crop32\n \n \n \n \n \n Crop54\n \n \n \n \n \n Crop75\n \n \n \n \n \n CropDin\n \n \n \n \n \n CropFree\n \n \n \n \n \n CropLandscape\n \n \n \n \n \n CropOriginal\n \n \n \n \n \n CropPortrait\n \n \n \n \n \n CropRotate\n \n \n \n \n \n CropSquare\n \n \n \n \n \n Dashboard\n \n \n \n \n \n DataUsage\n \n \n \n \n \n DateRange\n \n \n \n \n \n Dehaze\n \n \n \n \n \n Delete\n \n \n \n \n \n DeleteForever\n \n \n \n \n \n DeleteOutline\n \n \n \n \n \n DeleteSweep\n \n \n \n \n \n DepartureBoard\n \n \n \n \n \n Description\n \n \n \n \n \n DesktopAccessDisabled\n \n \n \n \n \n DesktopMac\n \n \n \n \n \n DesktopWindows\n \n \n \n \n \n Details\n \n \n \n \n \n DeveloperBoard\n \n \n \n \n \n DeveloperMode\n \n \n \n \n \n DeviceHub\n \n \n \n \n \n Devices\n \n \n \n \n \n DevicesOther\n \n \n \n \n \n DeviceUnknown\n \n \n \n \n \n DialerSip\n \n \n \n \n \n Dialpad\n \n \n \n \n \n Directions\n \n \n \n \n \n DirectionsBike\n \n \n \n \n \n DirectionsBoat\n \n \n \n \n \n DirectionsBus\n \n \n \n \n \n DirectionsCar\n \n \n \n \n \n DirectionsRailway\n \n \n \n \n \n DirectionsRun\n \n \n \n \n \n DirectionsSubway\n \n \n \n \n \n DirectionsTransit\n \n \n \n \n \n DirectionsWalk\n \n \n \n \n \n DiscFull\n \n \n \n \n Dns\n \n \n \n Dock\n \n \n \n \n Domain\n \n \n \n \n \n DomainDisabled\n \n \n \n \n Done\n \n \n \n \n DoneAll\n \n \n \n \n \n DoneOutline\n \n \n \n \n \n DonutLarge\n \n \n \n \n \n DonutSmall\n \n \n \n \n \n Drafts\n \n \n \n \n \n DragHandle\n \n \n \n \n \n DragIndicator\n \n \n \n \n \n DriveEta\n \n \n \n \n Duo\n \n \n \n Dvr\n \n \n \n Edit\n \n \n \n \n EditAttributes\n \n \n \n \n \n EditLocation\n \n \n \n \n \n Eject\n \n \n \n \n \n Email\n \n \n \n \n \n EnhancedEncryption\n \n \n \n \n \n Equalizer\n \n \n \n \n \n Error\n \n \n \n \n \n ErrorOutline\n \n \n \n \n \n EuroSymbol\n \n \n \n \n \n Event\n \n \n \n \n \n EventAvailable\n \n \n \n \n \n EventBusy\n \n \n \n \n \n EventNote\n \n \n \n \n \n EventSeat\n \n \n \n \n \n EvStation\n \n \n \n \n \n ExitToApp\n \n \n \n \n \n ExpandLess\n \n \n \n \n \n ExpandMore\n \n \n \n \n \n Explicit\n \n \n \n \n \n Explore\n \n \n \n \n \n Exposure\n \n \n \n \n \n ExposureNeg1\n \n \n \n \n \n ExposureNeg2\n \n \n \n \n \n ExposurePlus1\n \n \n \n \n \n ExposurePlus2\n \n \n \n \n \n ExposureZero\n \n \n \n \n \n Extension\n \n \n \n \n Face\n \n \n \n \n Fastfood\n \n \n \n \n \n FastForward\n \n \n \n \n \n FastRewind\n \n \n \n \n \n Favorite\n \n \n \n \n \n FavoriteBorder\n \n \n \n \n \n FeaturedPlayList\n \n \n \n \n \n FeaturedVideo\n \n \n \n \n \n Feedback\n \n \n \n \n \n FiberDvr\n \n \n \n \n \n FiberManualRecord\n \n \n \n \n \n FiberPin\n \n \n \n \n \n FiberSmartRecord\n \n \n \n \n \n FileCopy\n \n \n \n \n \n Filter\n \n \n \n \n \n Filter1\n \n \n \n \n \n Filter2\n \n \n \n \n \n Filter3\n \n \n \n \n \n Filter4\n \n \n \n \n \n Filter5\n \n \n \n \n \n Filter6\n \n \n \n \n \n Filter7\n \n \n \n \n \n Filter8\n \n \n \n \n \n Filter9\n \n \n \n \n \n Filter9Plus\n \n \n \n \n \n FilterBAndW\n \n \n \n \n \n FilterCenterFocus\n \n \n \n \n \n FilterDrama\n \n \n \n \n \n FilterFrames\n \n \n \n \n \n FilterHdr\n \n \n \n \n \n FilterList\n \n \n \n \n \n FilterNone\n \n \n \n \n \n FilterTiltShift\n \n \n \n \n \n FilterVintage\n \n \n \n \n \n FindInPage\n \n \n \n \n \n FindReplace\n \n \n \n \n \n Fingerprint\n \n \n \n \n \n FirstPage\n \n \n \n \n \n FitnessCenter\n \n \n \n \n Flag\n \n \n \n \n Flare\n \n \n \n \n \n FlashAuto\n \n \n \n \n \n Flight\n \n \n \n \n \n FlightLand\n \n \n \n \n \n FlightTakeoff\n \n \n \n \n Flip\n \n \n \n \n FlipToBack\n \n \n \n \n \n FlipToFront\n \n \n \n \n \n Folder\n \n \n \n \n \n FolderOpen\n \n \n \n \n \n FolderShared\n \n \n \n \n \n FolderSpecial\n \n \n \n \n \n FontDownload\n \n \n \n \n \n FormatAlignCenter\n \n \n \n \n \n FormatAlignJustify\n \n \n \n \n \n FormatAlignLeft\n \n \n \n \n \n FormatAlignRight\n \n \n \n \n \n FormatBold\n \n \n \n \n \n FormatClear\n \n \n \n \n \n FormatColorFill\n \n \n \n \n \n FormatColorReset\n \n \n \n \n \n FormatColorText\n \n \n \n \n \n FormatIndentDecrease\n \n \n \n \n \n FormatIndentIncrease\n \n \n \n \n \n FormatItalic\n \n \n \n \n \n FormatLineSpacing\n \n \n \n \n \n FormatListBulleted\n \n \n \n \n \n FormatListNumbered\n \n \n \n \n \n FormatListNumberedRtl\n \n \n \n \n \n FormatPaint\n \n \n \n \n \n FormatQuote\n \n \n \n \n \n FormatShapes\n \n \n \n \n \n FormatSize\n \n \n \n \n \n FormatStrikethrough\n \n \n \n \n \n FormatTextdirectionLToR\n \n \n \n \n \n FormatTextdirectionRToL\n \n \n \n \n \n FormatUnderlined\n \n \n \n \n \n Forum\n \n \n \n \n \n Forward\n \n \n \n \n \n Forward10\n \n \n \n \n \n Forward30\n \n \n \n \n \n Forward5\n \n \n \n \n \n FourK\n \n \n \n \n \n FreeBreakfast\n \n \n \n \n \n Fullscreen\n \n \n \n \n \n FullscreenExit\n \n \n \n \n \n Functions\n \n \n \n \n \n Gamepad\n \n \n \n \n \n Games\n \n \n \n \n \n Gavel\n \n \n \n \n \n Gesture\n \n \n \n \n \n GetApp\n \n \n \n \n Gif\n \n \n \n \n GolfCourse\n \n \n \n \n \n GpsFixed\n \n \n \n \n \n GpsNotFixed\n \n \n \n \n \n Grade\n \n \n \n \n \n Gradient\n \n \n \n \n \n Grain\n \n \n \n \n \n GraphicEq\n \n \n \n \n \n Group\n \n \n \n \n \n GroupWork\n \n \n \n \n \n GTranslate\n \n \n \n \n Hd\n \n \n \n \n HdrStrong\n \n \n \n \n \n HdrWeak\n \n \n \n \n \n Headset\n \n \n \n \n \n HeadsetMic\n \n \n \n \n \n Healing\n \n \n \n \n \n Hearing\n \n \n \n \n Help\n \n \n \n \n HelpOutline\n \n \n \n \n \n Highlight\n \n \n \n \n \n HighQuality\n \n \n \n \n \n History\n \n \n \n \n Home\n \n \n \n \n HorizontalSplit\n \n \n \n \n \n Hotel\n \n \n \n \n \n HotTub\n \n \n \n \n \n HourglassEmpty\n \n \n \n \n \n HourglassFull\n \n \n \n \n \n HowToReg\n \n \n \n \n \n HowToVote\n \n \n \n \n Http\n \n \n \n \n Https\n \n \n \n \n \n Image\n \n \n \n \n \n ImageAspectRatio\n \n \n \n \n \n ImageSearch\n \n \n \n \n \n ImportantDevices\n \n \n \n \n \n ImportContacts\n \n \n \n \n \n ImportExport\n \n \n \n \n \n Inbox\n \n \n \n \n \n IndeterminateCheckBox\n \n \n \n \n Info\n \n \n \n \n Input\n \n \n \n \n \n InsertChart\n \n \n \n \n \n InsertComment\n \n \n \n \n \n InsertDriveFile\n \n \n \n \n \n InsertEmoticon\n \n \n \n \n \n InsertInvitation\n \n \n \n \n \n InsertLink\n \n \n \n \n \n InsertPhoto\n \n \n \n \n \n InvertColors\n \n \n \n \n Iso\n \n \n \n \n Keyboard\n \n \n \n \n \n KeyboardArrowDown\n \n \n \n \n \n KeyboardArrowLeft\n \n \n \n \n \n KeyboardArrowRight\n \n \n \n \n \n KeyboardArrowUp\n \n \n \n \n \n KeyboardBackspace\n \n \n \n \n \n KeyboardCapslock\n \n \n \n \n \n KeyboardHide\n \n \n \n \n \n KeyboardReturn\n \n \n \n \n \n KeyboardTab\n \n \n \n \n \n KeyboardVoice\n \n \n \n \n \n Kitchen\n \n \n \n \n \n Label\n \n \n \n \n \n LabelImportant\n \n \n \n \n \n Landscape\n \n \n \n \n \n Language\n \n \n \n \n \n Laptop\n \n \n \n \n \n LaptopChromebook\n \n \n \n \n \n LaptopMac\n \n \n \n \n \n LaptopWindows\n \n \n \n \n \n LastPage\n \n \n \n \n \n Launch\n \n \n \n \n \n Layers\n \n \n \n \n \n LayersClear\n \n \n \n \n \n LeakRemove\n \n \n \n \n Lens\n \n \n \n \n LibraryBooks\n \n \n \n \n \n LibraryMusic\n \n \n \n \n \n LinearScale\n \n \n \n \n \n LineStyle\n \n \n \n \n \n LineWeight\n \n \n \n \n Link\n \n \n \n \n LinkedCamera\n \n \n \n \n List\n \n \n \n \n ListAlt\n \n \n \n \n \n LiveHelp\n \n \n \n \n \n LiveTv\n \n \n \n \n \n LocalActivity\n \n \n \n \n \n LocalAirport\n \n \n \n \n \n LocalAtm\n \n \n \n \n \n LocalBar\n \n \n \n \n \n LocalCafe\n \n \n \n \n \n LocalCarWash\n \n \n \n \n \n LocalConvenienceStore\n \n \n \n \n \n LocalDining\n \n \n \n \n \n LocalDrink\n \n \n \n \n \n LocalFlorist\n \n \n \n \n \n LocalGasStation\n \n \n \n \n \n LocalGroceryStore\n \n \n \n \n \n LocalHospital\n \n \n \n \n \n LocalHotel\n \n \n \n \n \n LocalLaundryService\n \n \n \n \n \n LocalLibrary\n \n \n \n \n \n LocalMall\n \n \n \n \n \n LocalMovies\n \n \n \n \n \n LocalParking\n \n \n \n \n \n LocalPharmacy\n \n \n \n \n \n LocalPhone\n \n \n \n \n \n LocalPizza\n \n \n \n \n \n LocalPlay\n \n \n \n \n \n LocalPrintshop\n \n \n \n \n \n LocalSee\n \n \n \n \n \n LocalShipping\n \n \n \n \n \n LocalTaxi\n \n \n \n \n \n LocationCity\n \n \n \n \n \n LocationDisabled\n \n \n \n \n \n LocationSearching\n \n \n \n \n Lock\n \n \n \n \n LockOpen\n \n \n \n \n \n Looks\n \n \n \n \n \n Looks3\n \n \n \n \n \n Looks4\n \n \n \n \n \n Looks5\n \n \n \n \n \n Looks6\n \n \n \n \n \n LooksTwo\n \n \n \n \n Loop\n \n \n \n \n Loupe\n \n \n \n \n \n LowPriority\n \n \n \n \n \n Loyalty\n \n \n \n \n Mail\n \n \n \n \n MailOutline\n \n \n \n \n Map\n \n \n \n \n Markunread\n \n \n \n \n \n MarkunreadMailbox\n \n \n \n \n \n Maximize\n \n \n \n \n \n MeetingRoom\n \n \n \n \n \n Memory\n \n \n \n \n Menu\n \n \n \n \n MergeType\n \n \n \n \n \n Message\n \n \n \n \n Mic\n \n \n \n \n MicNone\n \n \n \n \n \n Minimize\n \n \n \n \n \n MissedVideoCall\n \n \n \n \n Mms\n \n \n \n \n MobileFriendly\n \n \n \n \n \n MobileScreenShare\n \n \n \n \n \n ModeComment\n \n \n \n \n \n Money\n \n \n \n \n \n MonochromePhotos\n \n \n \n \n Mood\n \n \n \n \n MoodBad\n \n \n \n \n More\n \n \n \n \n MoreHoriz\n \n \n \n \n \n MoreVert\n \n \n \n \n \n Motorcycle\n \n \n \n \n \n Mouse\n \n \n \n \n \n MoveToInbox\n \n \n \n \n \n Movie\n \n \n \n \n \n MovieCreation\n \n \n \n \n \n MovieFilter\n \n \n \n \n \n MultilineChart\n \n \n \n \n \n MusicNote\n \n \n \n \n \n MusicVideo\n \n \n \n \n \n MyLocation\n \n \n \n \n \n Nature\n \n \n \n \n \n NaturePeople\n \n \n \n \n \n NavigateBefore\n \n \n \n \n \n NavigateNext\n \n \n \n \n \n Navigation\n \n \n \n \n \n NearMe\n \n \n \n \n \n NetworkCell\n \n \n \n \n \n NetworkCheck\n \n \n \n \n \n NetworkLocked\n \n \n \n \n \n NetworkWifi\n \n \n \n \n \n NextWeek\n \n \n \n \n Nfc\n \n \n \n \n NoEncryption\n \n \n \n \n \n NoMeetingRoom\n \n \n \n \n \n NoSim\n \n \n \n \n Note\n \n \n \n \n Notes\n \n \n \n \n \n NotificationImportant\n \n \n \n \n \n Notifications\n \n \n \n \n \n NotificationsActive\n \n \n \n \n \n NotificationsNone\n \n \n \n \n \n NotificationsPaused\n \n \n \n \n \n NotInterested\n \n \n \n \n \n NotListedLocation\n \n \n \n \n \n Opacity\n \n \n \n \n \n OpenInBrowser\n \n \n \n \n \n OpenWith\n \n \n \n \n \n Pages\n \n \n \n \n \n Pageview\n \n \n \n \n \n Palette\n \n \n \n \n \n Panorama\n \n \n \n \n \n PanoramaFishEye\n \n \n \n \n \n PanoramaHorizontal\n \n \n \n \n \n PanoramaVertical\n \n \n \n \n \n PanoramaWideAngle\n \n \n \n \n \n PanTool\n \n \n \n \n \n PartyMode\n \n \n \n \n \n Pause\n \n \n \n \n \n PauseCircleFilled\n \n \n \n \n \n PauseCircleOutline\n \n \n \n \n \n PausePresentation\n \n \n \n \n \n Payment\n \n \n \n \n \n People\n \n \n \n \n \n PeopleOutline\n \n \n \n \n \n PermCameraMic\n \n \n \n \n \n PermContactCalendar\n \n \n \n \n \n PermDataSetting\n \n \n \n \n \n PermDeviceInformation\n \n \n \n \n \n PermIdentity\n \n \n \n \n \n PermMedia\n \n \n \n \n \n PermPhoneMsg\n \n \n \n \n \n PermScanWifi\n \n \n \n \n \n Person\n \n \n \n \n \n PersonalVideo\n \n \n \n \n \n PersonOutline\n \n \n \n \n \n PersonPin\n \n \n \n \n \n PersonPinCircle\n \n \n \n \n Pets\n \n \n \n \n Phone\n \n \n \n \n \n PhoneAndroid\n \n \n \n \n \n PhoneBluetoothSpeaker\n \n \n \n \n \n PhoneCallback\n \n \n \n \n \n PhoneForwarded\n \n \n \n \n \n PhoneInTalk\n \n \n \n \n \n PhoneIphone\n \n \n \n \n \n Phonelink\n \n \n \n \n \n PhonelinkErase\n \n \n \n \n \n PhonelinkLock\n \n \n \n \n \n PhonelinkRing\n \n \n \n \n \n PhonelinkSetup\n \n \n \n \n \n PhoneLocked\n \n \n \n \n \n PhoneMissed\n \n \n \n \n \n PhonePaused\n \n \n \n \n \n Photo\n \n \n \n \n \n PhotoAlbum\n \n \n \n \n \n PhotoCamera\n \n \n \n \n \n PhotoFilter\n \n \n \n \n \n PhotoLibrary\n \n \n \n \n \n PhotoSizeSelectActual\n \n \n \n \n \n PhotoSizeSelectLarge\n \n \n \n \n \n PhotoSizeSelectSmall\n \n \n \n \n \n PictureAsPdf\n \n \n \n \n \n PictureInPicture\n \n \n \n \n \n PictureInPictureAlt\n \n \n \n \n \n PieChart\n \n \n \n \n \n PinDrop\n \n \n \n \n \n Place\n \n \n \n \n \n PlayArrow\n \n \n \n \n \n PlayCircleFilled\n \n \n \n \n \n PlayCircleFilledWhite\n \n \n \n \n \n PlayCircleOutline\n \n \n \n \n \n PlayForWork\n \n \n \n \n \n PlaylistPlay\n \n \n \n \n Poll\n \n \n \n \n Polymer\n \n \n \n \n Pool\n \n \n \n \n Portrait\n \n \n \n \n \n Power\n \n \n \n \n \n PowerInput\n \n \n \n \n \n PregnantWoman\n \n \n \n \n \n PresentToAll\n \n \n \n \n \n Print\n \n \n \n \n \n PrintDisabled\n \n \n \n \n \n PriorityHigh\n \n \n \n \n \n Public\n \n \n \n \n \n Publish\n \n \n \n \n \n QueryBuilder\n \n \n \n \n \n QuestionAnswer\n \n \n \n \n \n Queue\n \n \n \n \n \n QueueMusic\n \n \n \n \n \n QueuePlayNext\n \n \n \n \n \n Radio\n \n \n \n \n \n RadioButtonChecked\n \n \n \n \n \n RadioButtonUnchecked\n \n \n \n \n \n RateReview\n \n \n \n \n \n Receipt\n \n \n \n \n \n RecentActors\n \n \n \n \n \n RecordVoiceOver\n \n \n \n \n \n Redeem\n \n \n \n \n Redo\n \n \n \n \n Refresh\n \n \n \n \n \n Remove\n \n \n \n \n \n RemoveCircle\n \n \n \n \n \n RemoveCircleOutline\n \n \n \n \n \n RemoveFromQueue\n \n \n \n \n \n RemoveRedEye\n \n \n \n \n \n RemoveShoppingCart\n \n \n \n \n \n Reorder\n \n \n \n \n \n Repeat\n \n \n \n \n \n Replay\n \n \n \n \n \n Replay10\n \n \n \n \n \n Replay30\n \n \n \n \n \n Replay5\n \n \n \n \n \n Reply\n \n \n \n \n \n ReplyAll\n \n \n \n \n \n Report\n \n \n \n \n \n ReportProblem\n \n \n \n \n \n Restaurant\n \n \n \n \n \n RestaurantMenu\n \n \n \n \n \n Restore\n \n \n \n \n \n RestoreFromTrash\n \n \n \n \n \n RestorePage\n \n \n \n \n \n RingVolume\n \n \n \n \n Room\n \n \n \n \n RoomService\n \n \n \n \n \n Rotate90DegreesCcw\n \n \n \n \n \n RotateLeft\n \n \n \n \n \n RotateRight\n \n \n \n \n \n Router\n \n \n \n \n \n Rowing\n \n \n \n \n \n RssFeed\n \n \n \n \n \n RvHookup\n \n \n \n \n \n Satellite\n \n \n \n \n Save\n \n \n \n \n SaveAlt\n \n \n \n \n \n Scanner\n \n \n \n \n \n ScatterPlot\n \n \n \n \n \n Schedule\n \n \n \n \n \n School\n \n \n \n \n \n Score\n \n \n \n \n \n ScreenLockLandscape\n \n \n \n \n \n ScreenLockPortrait\n \n \n \n \n \n ScreenLockRotation\n \n \n \n \n \n ScreenRotation\n \n \n \n \n \n ScreenShare\n \n \n \n \n \n SdCard\n \n \n \n \n \n SdStorage\n \n \n \n \n \n Search\n \n \n \n \n \n Security\n \n \n \n \n \n SelectAll\n \n \n \n \n Send\n \n \n \n \n SentimentDissatisfied\n \n \n \n \n \n SentimentSatisfied\n \n \n \n \n \n SentimentSatisfiedAlt\n \n \n \n \n \n SentimentVeryDissatisfied\n \n \n \n \n \n SentimentVerySatisfied\n \n \n \n \n \n Settings\n \n \n \n \n \n SettingsApplications\n \n \n \n \n \n SettingsBackupRestore\n \n \n \n \n \n SettingsBluetooth\n \n \n \n \n \n SettingsBrightness\n \n \n \n \n \n SettingsCell\n \n \n \n \n \n SettingsEthernet\n \n \n \n \n \n SettingsInputAntenna\n \n \n \n \n \n SettingsInputComponent\n \n \n \n \n \n SettingsInputComposite\n \n \n \n \n \n SettingsInputHdmi\n \n \n \n \n \n SettingsInputSvideo\n \n \n \n \n \n SettingsOverscan\n \n \n \n \n \n SettingsPhone\n \n \n \n \n \n SettingsPower\n \n \n \n \n \n SettingsRemote\n \n \n \n \n \n SettingsSystemDaydream\n \n \n \n \n \n SettingsVoice\n \n \n \n \n \n Share\n \n \n \n \n Shop\n \n \n \n \n ShoppingBasket\n \n \n \n \n \n ShoppingCart\n \n \n \n \n \n ShopTwo\n \n \n \n \n \n ShortText\n \n \n \n \n \n ShowChart\n \n \n \n \n \n Shuffle\n \n \n \n \n \n ShutterSpeed\n \n \n \n \n \n SignalCellular0Bar\n \n \n \n \n \n SignalCellular1Bar\n \n \n \n \n \n SignalCellular2Bar\n \n \n \n \n \n SignalCellular3Bar\n \n \n \n \n \n SignalCellular4Bar\n \n \n \n \n \n SignalCellularAlt\n \n \n \n \n \n SignalCellularConnectedNoInternet0Bar\n \n \n \n \n \n SignalCellularConnectedNoInternet1Bar\n \n \n \n \n \n SignalCellularConnectedNoInternet2Bar\n \n \n \n \n \n SignalCellularConnectedNoInternet3Bar\n \n \n \n \n \n SignalCellularConnectedNoInternet4Bar\n \n \n \n \n \n SignalCellularNoSim\n \n \n \n \n \n SignalCellularNull\n \n \n \n \n \n SignalWifi0Bar\n \n \n \n \n \n SignalWifi1Bar\n \n \n \n \n \n SignalWifi1BarLock\n \n \n \n \n \n SignalWifi2Bar\n \n \n \n \n \n SignalWifi2BarLock\n \n \n \n \n \n SignalWifi3Bar\n \n \n \n \n \n SignalWifi3BarLock\n \n \n \n \n \n SignalWifi4Bar\n \n \n \n \n \n SignalWifi4BarLock\n \n \n \n \n \n SimCard\n \n \n \n \n \n SkipNext\n \n \n \n \n \n SkipPrevious\n \n \n \n \n \n Slideshow\n \n \n \n \n \n SlowMotionVideo\n \n \n \n \n \n Smartphone\n \n \n \n \n \n SmokeFree\n \n \n \n \n \n SmokingRooms\n \n \n \n \n Sms\n \n \n \n \n SmsFailed\n \n \n \n \n \n Snooze\n \n \n \n \n Sort\n \n \n \n \n SortByAlpha\n \n \n \n \n Spa\n \n \n \n \n SpaceBar\n \n \n \n \n \n Speaker\n \n \n \n \n \n SpeakerGroup\n \n \n \n \n \n SpeakerNotes\n \n \n \n \n \n SpeakerPhone\n \n \n \n \n \n Spellcheck\n \n \n \n \n Star\n \n \n \n \n StarBorder\n \n \n \n \n \n StarHalf\n \n \n \n \n \n StarRate\n \n \n \n \n \n Stars\n \n \n \n \n \n StayCurrentLandscape\n \n \n \n \n \n StayCurrentPortrait\n \n \n \n \n \n StayPrimaryLandscape\n \n \n \n \n \n StayPrimaryPortrait\n \n \n \n \n Stop\n \n \n \n \n StopScreenShare\n \n \n \n \n \n Storage\n \n \n \n \n \n Store\n \n \n \n \n \n StoreMallDirectory\n \n \n \n \n \n Straighten\n \n \n \n \n \n Streetview\n \n \n \n \n \n StrikethroughS\n \n \n \n \n \n Style\n \n \n \n \n \n SubdirectoryArrowLeft\n \n \n \n \n \n SubdirectoryArrowRight\n \n \n \n \n \n Subject\n \n \n \n \n \n Subscriptions\n \n \n \n \n \n Subtitles\n \n \n \n \n \n Subway\n \n \n \n \n \n SupervisedUserCircle\n \n \n \n \n \n SupervisorAccount\n \n \n \n \n \n SurroundSound\n \n \n \n \n \n SwapCalls\n \n \n \n \n \n SwapHoriz\n \n \n \n \n \n SwapHorizontalCircle\n \n \n \n \n \n SwapVert\n \n \n \n \n \n SwapVerticalCircle\n \n \n \n \n \n SwitchCamera\n \n \n \n \n \n SwitchVideo\n \n \n \n \n Sync\n \n \n \n \n SyncDisabled\n \n \n \n \n \n SyncProblem\n \n \n \n \n \n SystemUpdate\n \n \n \n \n Tab\n \n \n \n \n TableChart\n \n \n \n \n \n Tablet\n \n \n \n \n \n TabletAndroid\n \n \n \n \n \n TabletMac\n \n \n \n \n \n TabUnselected\n \n \n \n \n \n TagFaces\n \n \n \n \n \n TapAndPlay\n \n \n \n \n \n Terrain\n \n \n \n \n \n TextFields\n \n \n \n \n \n TextFormat\n \n \n \n \n \n TextRotateUp\n \n \n \n \n \n TextRotateVertical\n \n \n \n \n \n TextRotationDown\n \n \n \n \n \n TextRotationNone\n \n \n \n \n \n Textsms\n \n \n \n \n \n Texture\n \n \n \n \n \n Theaters\n \n \n \n \n \n ThreeDRotation\n \n \n \n \n \n ThreeSixty\n \n \n \n \n \n ThumbDown\n \n \n \n \n \n ThumbDownAlt\n \n \n \n \n \n ThumbsUpDown\n \n \n \n \n \n ThumbUp\n \n \n \n \n \n ThumbUpAlt\n \n \n \n \n \n Timelapse\n \n \n \n \n \n Timeline\n \n \n \n \n \n Timer\n \n \n \n \n \n Timer10\n \n \n \n \n \n Timer3\n \n \n \n \n \n TimeToLeave\n \n \n \n \n \n Title\n \n \n \n \n Toc\n \n \n \n \n Today\n \n \n \n \n Toll\n \n \n \n \n Tonality\n \n \n \n \n \n TouchApp\n \n \n \n \n Toys\n \n \n \n \n TrackChanges\n \n \n \n \n \n Traffic\n \n \n \n \n \n Train\n \n \n \n \n Tram\n \n \n \n \n TransferWithinAStation\n \n \n \n \n \n Transform\n \n \n \n \n \n TransitEnterexit\n \n \n \n \n \n Translate\n \n \n \n \n \n TrendingDown\n \n \n \n \n \n TrendingFlat\n \n \n \n \n \n TrendingUp\n \n \n \n \n \n TripOrigin\n \n \n \n \n Tune\n \n \n \n \n TurnedIn\n \n \n \n \n \n TurnedInNot\n \n \n \n \n Tv\n \n \n \n \n Unarchive\n \n \n \n \n Undo\n \n \n \n \n UnfoldLess\n \n \n \n \n \n UnfoldMore\n \n \n \n \n \n Unsubscribe\n \n \n \n \n \n Update\n \n \n \n \n Usb\n \n \n \n \n VerifiedUser\n \n \n \n \n \n VerticalAlignBottom\n \n \n \n \n \n VerticalAlignCenter\n \n \n \n \n \n VerticalAlignTop\n \n \n \n \n \n VerticalSplit\n \n \n \n \n \n Vibration\n \n \n \n \n \n VideoCall\n \n \n \n \n \n Videocam\n \n \n \n \n \n VideogameAsset\n \n \n \n \n \n VideoLabel\n \n \n \n \n \n VideoLibrary\n \n \n \n \n \n ViewAgenda\n \n \n \n \n \n ViewArray\n \n \n \n \n \n ViewCarousel\n \n \n \n \n \n ViewColumn\n \n \n \n \n \n ViewComfy\n \n \n \n \n \n ViewCompact\n \n \n \n \n \n ViewDay\n \n \n \n \n \n ViewHeadline\n \n \n \n \n \n ViewList\n \n \n \n \n \n ViewModule\n \n \n \n \n \n ViewQuilt\n \n \n \n \n \n ViewStream\n \n \n \n \n \n ViewWeek\n \n \n \n \n \n Vignette\n \n \n \n \n \n Visibility\n \n \n \n \n \n VoiceChat\n \n \n \n \n \n Voicemail\n \n \n \n \n \n VolumeDown\n \n \n \n \n \n VolumeMute\n \n \n \n \n \n VolumeUp\n \n \n \n \n \n VpnKey\n \n \n \n \n \n VpnLock\n \n \n \n \n \n Wallpaper\n \n \n \n \n \n Warning\n \n \n \n \n \n Watch\n \n \n \n \n \n WatchLater\n \n \n \n \n \n Waves\n \n \n \n \n \n WbAuto\n \n \n \n \n \n WbCloudy\n \n \n \n \n \n WbIncandescent\n \n \n \n \n \n WbIridescent\n \n \n \n \n \n WbSunny\n \n \n \n \n Wc\n \n \n \n Web\n \n \n \n \n WebAsset\n \n \n \n \n \n Weekend\n \n \n \n \n \n Whatshot\n \n \n \n \n \n WhereToVote\n \n \n \n \n \n Widgets\n \n \n \n \n Wifi\n \n \n \n \n WifiLock\n \n \n \n \n \n WifiTethering\n \n \n \n \n Work\n \n \n \n \n WorkOutline\n \n \n \n \n \n WrapText\n \n \n \n \n \n YoutubeSearchedFor\n \n \n \n \n \n ZoomIn\n \n \n \n \n \n ZoomOut\n \n \n \n \n \n ZoomOutMap\n \n \n \n
\n )}\n\n {activeTabId === 1 && (\n \n \n \n \n Bed\n \n \n \n Bank\n \n \n \n \n Behance\n \n \n \n \n \n Behance-square\n \n \n \n \n Bomb\n \n \n \n \n Building\n \n \n \n \n Cab\n \n \n \n Car\n \n \n \n \n Child\n \n \n \n \n \n Circle-o-notch\n \n \n \n \n \n Circle-thin\n \n \n \n \n \n Codepen\n \n \n \n \n Cube\n \n \n \n \n Cubes\n \n \n \n \n \n Database\n \n \n \n \n \n Delicious\n \n \n \n \n \n Deviantart\n \n \n \n \n Digg\n \n \n \n \n Drupal\n \n \n \n \n \n Empire\n \n \n \n \n \n Envelope-square\n \n \n \n \n Fax\n \n \n \n \n File-archive-o\n \n \n \n \n \n File-audio-o\n \n \n \n \n \n Аile-code-o\n \n \n \n \n \n Аile-excel-o\n \n \n \n \n \n File-image-o\n \n \n \n \n \n Аile-movie-o\n \n \n \n \n \n File-pdf-o\n \n \n \n \n \n File-photo-o\n \n \n \n \n \n File-picture-o\n \n \n \n \n \n File-powerpoint-o\n \n \n \n \n \n File-sound-o\n \n \n \n \n \n File-video-o\n \n \n \n \n \n File-word-o\n \n \n \n \n \n File-zip-o\n \n \n \n \n Ge\n \n \n \n Git\n \n \n \n \n Git-square\n \n \n \n \n \n Google\n \n \n \n \n \n Graduation-cap\n \n \n \n \n \n Hacker-news\n \n \n \n \n \n Header\n \n \n \n \n \n History\n \n \n \n \n \n Institution\n \n \n \n \n \n Joomla\n \n \n \n \n \n Jsfiddle\n \n \n \n \n \n Language\n \n \n \n \n \n Life-bouy\n \n \n \n \n \n Life-ring\n \n \n \n \n \n Life-saver\n \n \n \n \n \n Mortar-board\n \n \n \n \n \n Openid\n \n \n \n \n \n Paper-plane\n \n \n \n \n \n paper-plane-o\n \n \n \n \n \n Paragraph\n \n \n \n \n Paw\n \n \n \n \n Pied-piper\n \n \n \n \n \n Pied-piper-alt\n \n \n \n \n \n Pied-piper-square\n \n \n \n \n Qq\n \n \n \n Ra\n \n \n \n \n Rebel\n \n \n \n \n \n Recycle\n \n \n \n \n \n Reddit\n \n \n \n \n \n Reddit-square\n \n \n \n \n Send\n \n \n \n \n Send-o\n \n \n \n \n \n Share-alt\n \n \n \n \n \n Share-alt-square\n \n \n \n \n \n Slack\n \n \n \n \n \n Sliders\n \n \n \n \n \n Soundcloud\n \n \n \n \n \n Space-shuttle\n \n \n \n \n \n Spoon\n \n \n \n \n \n Spotify\n \n \n \n \n \n Steam\n \n \n \n \n \n Steam-square\n \n \n \n \n \n Stumbleupon\n \n \n \n \n \n Stumbleupon-circle\n \n \n \n \n \n Support\n \n \n \n \n Taxi\n \n \n \n \n Tencent-weibo\n \n \n \n \n Tree\n \n \n \n \n University\n \n \n \n \n Vine\n \n \n \n \n Wechat\n \n \n \n \n \n Weixin\n \n \n \n \n \n Wordpress\n \n \n \n \n \n Yahoo\n \n \n \n
\n )}\n \n >\n);}\n","import React from \"react\";\nimport ApexCharts from \"react-apexcharts\";\nimport { useTheme } from \"@material-ui/styles\";\n\nconst series = [\n {\n name: \"series1\",\n data: [31, 40, 28, 51, 42, 109, 100],\n },\n {\n name: \"series2\",\n data: [11, 32, 45, 32, 34, 52, 41],\n },\n];\n\nexport default function ApexLineChart() {\n var theme = useTheme();\n\n return (\n \n );\n}\n\n// ############################################################\nfunction themeOptions(theme) {\n return {\n dataLabels: {\n enabled: false,\n },\n stroke: {\n curve: \"smooth\",\n },\n xaxis: {\n type: \"datetime\",\n categories: [\n \"2018-09-19T00:00:00\",\n \"2018-09-19T01:30:00\",\n \"2018-09-19T02:30:00\",\n \"2018-09-19T03:30:00\",\n \"2018-09-19T04:30:00\",\n \"2018-09-19T05:30:00\",\n \"2018-09-19T06:30:00\",\n ],\n },\n tooltip: {\n x: {\n format: \"dd/MM/yy HH:mm\",\n },\n },\n fill: {\n colors: [theme.palette.primary.light, theme.palette.success.light],\n },\n colors: [theme.palette.primary.main, theme.palette.success.main],\n chart: {\n toolbar: {\n show: false,\n },\n },\n legend: {\n show: false,\n },\n };\n}\n","import React from \"react\";\nimport { useTheme } from \"@material-ui/styles\";\nimport ApexCharts from \"react-apexcharts\";\n\nconst series = [\n {\n name: \"Metric1\",\n data: generateData(18, {\n min: 0,\n max: 90,\n }),\n },\n {\n name: \"Metric2\",\n data: generateData(18, {\n min: 0,\n max: 90,\n }),\n },\n {\n name: \"Metric3\",\n data: generateData(18, {\n min: 0,\n max: 90,\n }),\n },\n {\n name: \"Metric4\",\n data: generateData(18, {\n min: 0,\n max: 90,\n }),\n },\n {\n name: \"Metric5\",\n data: generateData(18, {\n min: 0,\n max: 90,\n }),\n },\n {\n name: \"Metric6\",\n data: generateData(18, {\n min: 0,\n max: 90,\n }),\n },\n {\n name: \"Metric7\",\n data: generateData(18, {\n min: 0,\n max: 90,\n }),\n },\n {\n name: \"Metric8\",\n data: generateData(18, {\n min: 0,\n max: 90,\n }),\n },\n {\n name: \"Metric9\",\n data: generateData(18, {\n min: 0,\n max: 90,\n }),\n },\n];\n\nexport default function ApexLineChart() {\n var theme = useTheme();\n\n return (\n \n );\n}\n\n// ##################################################################\nfunction generateData(count, yrange) {\n var i = 0;\n var series = [];\n while (i < count) {\n var x = \"w\" + (i + 1).toString();\n var y =\n Math.floor(Math.random() * (yrange.max - yrange.min + 1)) + yrange.min;\n\n series.push({\n x: x,\n y: y,\n });\n i++;\n }\n\n return series;\n}\n\nfunction themeOptions(theme) {\n return {\n chart: {\n toolbar: {\n show: false,\n },\n },\n dataLabels: {\n enabled: false,\n },\n colors: [theme.palette.primary.main],\n };\n}\n","import React, { useState } from \"react\";\nimport { Grid } from \"@material-ui/core\";\nimport { useTheme } from \"@material-ui/styles\";\nimport {\n CartesianGrid,\n Legend,\n Line,\n LineChart,\n Pie,\n PieChart,\n ResponsiveContainer,\n Sector,\n Tooltip,\n XAxis,\n YAxis,\n} from \"recharts\";\n\n// components\nimport Widget from \"../../components/Widget/Widget\";\nimport ApexLineChart from \"./components/ApexLineChart\";\nimport ApexHeatmap from \"./components/ApexHeatmap\";\nimport PageTitle from \"../../components/PageTitle/PageTitle\";\n\nconst lineChartData = [\n {\n name: \"Page A\",\n uv: 4000,\n pv: 2400,\n amt: 2400,\n },\n {\n name: \"Page B\",\n uv: 3000,\n pv: 1398,\n amt: 2210,\n },\n {\n name: \"Page C\",\n uv: 2000,\n pv: 9800,\n amt: 2290,\n },\n {\n name: \"Page D\",\n uv: 2780,\n pv: 3908,\n amt: 2000,\n },\n {\n name: \"Page E\",\n uv: 1890,\n pv: 4800,\n amt: 2181,\n },\n {\n name: \"Page F\",\n uv: 2390,\n pv: 3800,\n amt: 2500,\n },\n {\n name: \"Page G\",\n uv: 3490,\n pv: 4300,\n amt: 2100,\n },\n];\n\nconst pieChartData = [\n { name: \"Group A\", value: 400 },\n { name: \"Group B\", value: 300 },\n { name: \"Group C\", value: 300 },\n { name: \"Group D\", value: 200 },\n];\n\nexport default function Charts(props) {\n var theme = useTheme();\n\n // local\n var [activeIndex, setActiveIndexId] = useState(0);\n\n return (\n <>\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n setActiveIndexId(id)}\n />\n \n \n \n \n \n >\n );\n}\n\n// ################################################################\n\nfunction renderActiveShape(props) {\n var RADIAN = Math.PI / 180;\n var {\n cx,\n cy,\n midAngle,\n innerRadius,\n outerRadius,\n startAngle,\n endAngle,\n fill,\n payload,\n percent,\n value,\n } = props;\n var sin = Math.sin(-RADIAN * midAngle);\n var cos = Math.cos(-RADIAN * midAngle);\n var sx = cx + (outerRadius + 10) * cos;\n var sy = cy + (outerRadius + 10) * sin;\n var mx = cx + (outerRadius + 30) * cos;\n var my = cy + (outerRadius + 30) * sin;\n var ex = mx + (cos >= 0 ? 1 : -1) * 22;\n var ey = my;\n var textAnchor = cos >= 0 ? \"start\" : \"end\";\n\n return (\n \n \n {payload.name}\n \n \n \n \n \n = 0 ? 1 : -1) * 12}\n y={ey}\n textAnchor={textAnchor}\n fill=\"#333\"\n >{`PV ${value}`}\n = 0 ? 1 : -1) * 12}\n y={ey}\n dy={18}\n textAnchor={textAnchor}\n fill=\"#999\"\n >\n {`(Rate ${(percent * 100).toFixed(2)}%)`}\n \n \n );\n}\n","import React, { useState } from 'react';\nimport {\n Button,\n Dialog,\n DialogActions,\n DialogTitle,\n DialogContent,\n FormControlLabel,\n Switch,\n TextField,\n} from \"@material-ui/core\";\nimport { useHistory } from \"react-router-dom\";\n\n// styles\nimport {makeStyles} from '@material-ui/core/styles';\n\nimport {\n createPeerRequest,\n} from \"../../squeakclient/requests\"\n\nconst useStyles = makeStyles((theme) => ({\n form: {\n margin: 'auto',\n width: 'fit-content',\n '& .MuiDialogContent-root': {\n overflow: `hidden`\n },\n '& .MuiTextField-root': {\n margin: theme.spacing(1),\n },\n '& .MuiDialogActions-root': {\n padding: `1rem`,\n },\n },\n formControlLabel: {\n position: `absolute`,\n left: `2rem`,\n },\n}));\n\nconst portDefaultValue = '0';\n\nexport default function CreatePeerDialog({\n open,\n handleClose,\n ...props\n}) {\n const classes = useStyles();\n const history = useHistory();\n\n const [peerName, setPeerName] = useState('');\n const [host, setHost] = useState('');\n const [port, setPort] = useState('');\n const [customPortChecked, setCustomPortChecked] = React.useState(false)\n\n const resetFields = () => {\n setPeerName('');\n setHost('');\n setPort(portDefaultValue);\n setCustomPortChecked(false);\n };\n\n const handleChangePeerName = (event) => {\n setPeerName(event.target.value);\n };\n\n const handleChangeHost = (event) => {\n setHost(event.target.value);\n };\n\n const handleChangeCustomPortChecked = (event) => {\n setPort(\n event.target.checked ? '' : portDefaultValue\n );\n setCustomPortChecked(event.target.checked);\n }\n\n const handleChangePort = (event) => {\n setPort(event.target.value);\n };\n\n const createPeer = (peerName, host, port) => {\n createPeerRequest(peerName, host, port, (response) => {\n goToPeerPage(response.getPeerId());\n });\n };\n\n const goToPeerPage = (peerId) => {\n history.push(\"/app/peer/\" + peerId);\n };\n\n function handleSubmit(event) {\n event.preventDefault();\n console.log( 'peerName:', peerName);\n console.log( 'host:', host);\n console.log( 'port:', port);\n if (!host) {\n alert('Host cannot be empty.');\n return;\n }\n if (!port) {\n alert('Port cannot be empty.');\n return;\n }\n createPeer(peerName, host, port);\n handleClose();\n }\n\n function CreatePeerNameInput() {\n return (\n \n )\n }\n\n function CreateHostInput() {\n return (\n \n )\n }\n\n function CreatePortInput() {\n return (\n \n )\n }\n\n\n function CustomPortSwitch() {\n return (\n \n }\n label=\"Use custom port\"\n />\n )\n }\n\n\n function CancelButton() {\n return (\n \n Cancel\n \n )\n }\n\n function CreatePeerButton() {\n return (\n \n Create Peer\n \n )\n }\n\n return (\n \n )\n}\n","import React, {useState, useEffect} from 'react';\nimport {useHistory} from \"react-router-dom\";\nimport {\n Grid,\n Button,\n Paper,\n Tabs,\n Tab,\n AppBar,\n Box,\n Typography,\n } from \"@material-ui/core\";\nimport MUIDataTable from \"mui-datatables\";\n\n// styles\nimport {makeStyles} from '@material-ui/core/styles';\n\n// components\nimport PageTitle from \"../../components/PageTitle\";\nimport Widget from \"../../components/Widget\";\nimport Table from \"../dashboard/components/Table/Table\";\nimport CreatePeerDialog from \"../../components/CreatePeerDialog\";\n\n// data\nimport mock from \"../dashboard/mock\";\n\nimport {\n getPeersRequest,\n} from \"../../squeakclient/requests\"\n\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n '& > *': {\n margin: theme.spacing(1)\n }\n }\n}));\n\nexport default function Peers() {\n const classes = useStyles();\n const [peers, setPeers] = useState([]);\n const [createPeerDialogOpen, setCreatePeerDialogOpen] = useState(false);\n const history = useHistory();\n\n function a11yProps(index) {\n return {\n id: `simple-tab-${index}`,\n 'aria-controls': `simple-tabpanel-${index}`,\n };\n }\n\n const getSqueakPeers = () => {\n getPeersRequest(setPeers);\n };\n\n const goToPeerPage = (id) => {\n history.push(\"/app/Peer/\" + id);\n };\n\n const handleClickOpenCreatePeerDialog = () => {\n setCreatePeerDialogOpen(true);\n };\n\n const handleCloseCreatePeerDialog = () => {\n setCreatePeerDialogOpen(false);\n };\n\n useEffect(() => {\n getSqueakPeers()\n }, []);\n\n function CreatePeerButton() {\n return (\n <>\n \n \n {\n handleClickOpenCreatePeerDialog();\n }}>Create Peer\n \n
\n \n >\n )\n }\n\n function PeersInfo() {\n return (\n <>\n \n {CreatePeerButton()}\n \n \n [\n s.getPeerId(),\n s.getPeerName(),\n s.getHost(),\n s.getPort(),\n s.getDownloading().toString(),\n s.getUploading().toString(),\n ]\n )}\n columns={[\n {\n name: \"Id\",\n options: {\n display: false,\n }\n },\n \"Name\",\n \"Host\",\n \"Port\",\n \"Downloading\",\n \"Uploading\",\n ]}\n options={{\n filter: false,\n print: false,\n viewColumns: false,\n selectableRows: \"none\",\n onRowClick: rowData => {\n var id = rowData[0];\n console.log(\"clicked on id\" + id);\n goToPeerPage(id);\n },\n }}/>\n \n \n >\n )\n }\n\n function CreatePeerDialogContent() {\n return (\n <>\n \n >\n )\n }\n\n return (\n <>\n < PageTitle title = \"Peers\" />\n {PeersInfo()}\n {CreatePeerDialogContent()}\n < />);\n}\n","import { makeStyles } from \"@material-ui/styles\";\n\nexport default makeStyles(theme => ({\n dashedBorder: {\n border: \"1px dashed\",\n borderColor: theme.palette.primary.main,\n padding: theme.spacing(2),\n paddingTop: theme.spacing(4),\n paddingBottom: theme.spacing(4),\n marginTop: theme.spacing(1),\n },\n text: {\n marginBottom: theme.spacing(2),\n },\n}));\n","import { makeStyles } from \"@material-ui/styles\";\n\nexport default makeStyles(theme => ({\n widgetWrapper: {\n display: \"flex\",\n minHeight: \"100%\",\n },\n widgetHeader: {\n padding: theme.spacing(3),\n paddingBottom: theme.spacing(1),\n display: \"flex\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n },\n widgetRoot: {\n boxShadow: theme.customShadows.widget,\n },\n widgetBody: {\n paddingBottom: theme.spacing(3),\n paddingRight: theme.spacing(3),\n paddingLeft: theme.spacing(3),\n },\n noPadding: {\n padding: 0,\n },\n paper: {\n display: \"flex\",\n flexDirection: \"column\",\n flexGrow: 1,\n overflow: \"hidden\",\n },\n moreButton: {\n margin: -theme.spacing(1),\n padding: 0,\n width: 40,\n height: 40,\n color: theme.palette.text.hint,\n \"&:hover\": {\n backgroundColor: theme.palette.primary.main,\n color: \"rgba(255, 255, 255, 0.35)\",\n },\n },\n}));\n","import React, {useState, useEffect} from 'react';\nimport {\n Paper,\n IconButton,\n Menu,\n MenuItem,\n Typography,\n Grid,\n Box,\n Link,\n Dialog,\n DialogTitle,\n DialogContent,\n DialogContentText,\n TextField,\n DialogActions,\n Button,\n FormControl,\n InputLabel,\n Select,\n} from \"@material-ui/core\";\nimport { MoreVert as MoreIcon } from \"@material-ui/icons\";\nimport {useHistory} from \"react-router-dom\";\nimport classnames from \"classnames\";\n\n// styles\nimport useStyles from \"./styles\";\n\nimport Widget from \"../../components/Widget\";\n\nimport {\n deletePeerRequest,\n} from \"../../squeakclient/requests\"\n\n\nexport default function DeletePeerDialog({\n open,\n handleClose,\n peer,\n ...props\n}) {\n var classes = useStyles();\n const history = useHistory();\n\n const deletePeer = (peerId) => {\n deletePeerRequest(peerId, (response) => {\n reloadRoute();\n });\n };\n\n const reloadRoute = () => {\n history.go(0);\n };\n\n function handleSubmit(event) {\n event.preventDefault();\n console.log( 'peer:', peer);\n var peerId = peer.getPeerId();\n console.log( 'peerId:', peerId);\n deletePeer(peerId);\n handleClose();\n }\n\n function MakeCancelButton() {\n return (\n \n Cancel\n \n )\n }\n\n function DeletePeerButton() {\n return (\n \n Delete peer\n \n )\n }\n\n return (\n \n )\n}\n","import React, { useState, useEffect } from 'react';\nimport { useParams } from 'react-router-dom';\nimport {\n Grid,\n FormLabel,\n FormControl,\n FormGroup,\n FormControlLabel,\n FormHelperText,\n Switch,\n Button,\n} from \"@material-ui/core\";\n\n// styles\nimport useStyles from \"./styles\";\n\n// components\nimport PageTitle from \"../../components/PageTitle\";\nimport Widget from \"../../components/Widget\";\nimport DeletePeerDialog from \"../../components/DeletePeerDialog\";\n\nimport {\n getPeerRequest,\n setPeerDownloadingRequest,\n setPeerUploadingRequest,\n} from \"../../squeakclient/requests\"\n\n\n\nexport default function PeerPage() {\n var classes = useStyles();\n const { id } = useParams();\n const [peer, setPeer] = useState(null);\n const [deleteDialogOpen, setDeleteDialogOpen] = useState(false);\n\n const getSqueakPeer = (id) => {\n getPeerRequest(id, setPeer);\n };\n const setDownloading = (id, downloading) => {\n setPeerDownloadingRequest(id, downloading, () => {\n getSqueakPeer(id);\n });\n };\n const setUploading = (id, uploading) => {\n setPeerUploadingRequest(id, uploading, () => {\n getSqueakPeer(id);\n });\n };\n\n useEffect(()=>{\n getSqueakPeer(id)\n },[id]);\n\n const handleClickOpenDeleteDialog = () => {\n setDeleteDialogOpen(true);\n console.log(\"deleteDialogOpen: \" + deleteDialogOpen);\n };\n\n const handleCloseDeleteDialog = () => {\n setDeleteDialogOpen(false);\n };\n\n const handleSettingsDownloadingChange = (event) => {\n console.log(\"Downloading changed for peer id: \" + id);\n console.log(\"Downloading changed to: \" + event.target.checked);\n setDownloading(id, event.target.checked);\n };\n\n const handleSettingsUploadingChange = (event) => {\n console.log(\"Uploading changed for peer id: \" + id);\n console.log(\"Uploading changed to: \" + event.target.checked);\n setUploading(id, event.target.checked);\n };\n\n function NoPeerContent() {\n return (\n \n No peer loaded\n
\n )\n }\n\n function PeerContent() {\n return (\n <>\n \n Peer name: {peer.getPeerName()}\n
\n {PeerSettingsForm()}\n {DeletePeerButton()}\n >\n )\n }\n\n function PeerSettingsForm() {\n return (\n \n Peer settings\n \n }\n label=\"Downloading\"\n />\n }\n label=\"Uploading\"\n />\n \n \n )\n }\n\n function DeletePeerButton() {\n return (\n <>\n \n \n {\n handleClickOpenDeleteDialog();\n }}>Delete Peer\n \n
\n \n >\n )\n }\n\n function DeletePeerDialogContent() {\n return (\n <>\n \n >\n )\n }\n\n return (\n <>\n \n \n {peer\n ? PeerContent()\n : NoPeerContent()\n }\n
\n {DeletePeerDialogContent()}\n >\n );\n}\n","import React from \"react\";\nimport {\n Route,\n Switch,\n Redirect,\n withRouter,\n} from \"react-router-dom\";\nimport classnames from \"classnames\";\n\n// styles\nimport useStyles from \"./styles\";\n\n// components\nimport Header from \"../Header\";\nimport Sidebar from \"../Sidebar\";\n\n// pages\nimport Timeline from \"../../pages/timeline\";\nimport Dashboard from \"../../pages/dashboard\";\nimport SqueakAddress from \"../../pages/squeakaddress\";\nimport Squeak from \"../../pages/squeak\";\nimport SqueakDetail from \"../../pages/squeakdetail\";\nimport Buy from \"../../pages/buy\";\nimport Offer from \"../../pages/offer\";\nimport Profile from \"../../pages/profile\";\nimport Wallet from \"../../pages/wallet\";\nimport LightningNode from \"../../pages/lightningnode\";\nimport Channel from \"../../pages/channel\";\nimport Notifications from \"../../pages/notifications\";\nimport Maps from \"../../pages/maps\";\nimport Profiles from \"../../pages/profiles\";\nimport Payments from \"../../pages/payments\";\nimport Icons from \"../../pages/icons\";\nimport Charts from \"../../pages/charts\";\nimport Peers from \"../../pages/peers\";\nimport Peer from \"../../pages/peer\";\n\n// context\nimport { useLayoutState } from \"../../context/LayoutContext\";\n\nfunction Layout(props) {\n var classes = useStyles();\n\n // global\n var layoutState = useLayoutState();\n\n return (\n \n <>\n
\n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n }\n />\n \n \n \n \n
\n >\n
\n );\n}\n\nexport default withRouter(Layout);\n","import { makeStyles } from \"@material-ui/styles\";\n\nexport default makeStyles(theme => ({\n container: {\n height: \"100vh\",\n width: \"100vw\",\n display: \"flex\",\n flexDirection: \"column\",\n justifyContent: \"center\",\n alignItems: \"center\",\n backgroundColor: theme.palette.primary.main,\n position: \"absolute\",\n top: 0,\n left: 0,\n },\n logotype: {\n display: \"flex\",\n alignItems: \"center\",\n marginBottom: theme.spacing(12),\n [theme.breakpoints.down(\"sm\")]: {\n display: \"none\",\n },\n },\n logotypeText: {\n fontWeight: 500,\n color: \"white\",\n marginLeft: theme.spacing(2),\n },\n logotypeIcon: {\n width: 70,\n marginRight: theme.spacing(2),\n },\n paperRoot: {\n boxShadow: theme.customShadows.widgetDark,\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"center\",\n paddingTop: theme.spacing(8),\n paddingBottom: theme.spacing(8),\n paddingLeft: theme.spacing(6),\n paddingRight: theme.spacing(6),\n maxWidth: 404,\n },\n textRow: {\n marginBottom: theme.spacing(10),\n textAlign: \"center\",\n },\n errorCode: {\n fontSize: 148,\n fontWeight: 600,\n },\n safetyText: {\n fontWeight: 300,\n color: theme.palette.text.hint,\n },\n backButton: {\n boxShadow: theme.customShadows.widget,\n textTransform: \"none\",\n fontSize: 22,\n },\n}));\n","import React from \"react\";\nimport { Grid, Paper, Typography, Button } from \"@material-ui/core\";\nimport { Link } from \"react-router-dom\";\nimport classnames from \"classnames\";\n\n// styles\nimport useStyles from \"./styles\";\n\n// logo\nimport logo from \"./logo.svg\";\n\nexport default function Error() {\n var classes = useStyles();\n\n return (\n \n \n

\n
\n Material Admin\n \n
\n \n \n 404\n \n \n Oops. Looks like the page you're looking for no longer exists\n \n \n But we're here to bring you back to safety\n \n \n Back to Home\n \n \n \n );\n}\n","import { makeStyles } from \"@material-ui/styles\";\n\nexport default makeStyles(theme => ({\n container: {\n height: \"100vh\",\n width: \"100vw\",\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n position: \"absolute\",\n top: 0,\n left: 0,\n },\n logotypeContainer: {\n backgroundColor: theme.palette.primary.main,\n width: \"60%\",\n height: \"100%\",\n display: \"flex\",\n flexDirection: \"column\",\n justifyContent: \"center\",\n alignItems: \"center\",\n [theme.breakpoints.down(\"md\")]: {\n width: \"50%\",\n },\n [theme.breakpoints.down(\"md\")]: {\n display: \"none\",\n },\n },\n logotypeImage: {\n width: 165,\n marginBottom: theme.spacing(4),\n },\n logotypeText: {\n color: \"white\",\n fontWeight: 500,\n fontSize: 84,\n [theme.breakpoints.down(\"md\")]: {\n fontSize: 48,\n },\n },\n formContainer: {\n width: \"40%\",\n height: \"100%\",\n display: \"flex\",\n flexDirection: \"column\",\n justifyContent: \"center\",\n alignItems: \"center\",\n [theme.breakpoints.down(\"md\")]: {\n width: \"50%\",\n },\n },\n form: {\n width: 320,\n },\n tab: {\n fontWeight: 400,\n fontSize: 18,\n },\n greeting: {\n fontWeight: 500,\n textAlign: \"center\",\n marginTop: theme.spacing(4),\n },\n subGreeting: {\n fontWeight: 500,\n textAlign: \"center\",\n marginTop: theme.spacing(2),\n },\n googleButton: {\n marginTop: theme.spacing(6),\n boxShadow: theme.customShadows.widget,\n backgroundColor: \"white\",\n width: \"100%\",\n textTransform: \"none\",\n },\n googleButtonCreating: {\n marginTop: 0,\n },\n googleIcon: {\n width: 30,\n marginRight: theme.spacing(2),\n },\n creatingButtonContainer: {\n marginTop: theme.spacing(2.5),\n height: 46,\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n createAccountButton: {\n height: 46,\n textTransform: \"none\",\n },\n formDividerContainer: {\n marginTop: theme.spacing(4),\n marginBottom: theme.spacing(4),\n display: \"flex\",\n alignItems: \"center\",\n },\n formDividerWord: {\n paddingLeft: theme.spacing(2),\n paddingRight: theme.spacing(2),\n },\n formDivider: {\n flexGrow: 1,\n height: 1,\n backgroundColor: theme.palette.text.hint + \"40\",\n },\n errorMessage: {\n textAlign: \"center\",\n },\n textFieldUnderline: {\n \"&:before\": {\n borderBottomColor: theme.palette.primary.light,\n },\n \"&:after\": {\n borderBottomColor: theme.palette.primary.main,\n },\n \"&:hover:before\": {\n borderBottomColor: `${theme.palette.primary.light} !important`,\n },\n },\n textField: {\n borderBottomColor: theme.palette.background.light,\n },\n formButtons: {\n width: \"100%\",\n marginTop: theme.spacing(4),\n display: \"flex\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n },\n forgetButton: {\n textTransform: \"none\",\n fontWeight: 400,\n },\n loginLoader: {\n marginLeft: theme.spacing(4),\n },\n copyright: {\n marginTop: theme.spacing(4),\n whiteSpace: \"nowrap\",\n [theme.breakpoints.up(\"md\")]: {\n position: \"absolute\",\n bottom: theme.spacing(2),\n },\n },\n}));\n","import React, { useState } from \"react\";\nimport {\n Grid,\n CircularProgress,\n Typography,\n Button,\n Tabs,\n Tab,\n TextField,\n Fade,\n} from \"@material-ui/core\";\nimport { withRouter } from \"react-router-dom\";\nimport classnames from \"classnames\";\n\n// styles\nimport useStyles from \"./styles\";\n\n// logo\nimport logo from \"./logo.svg\";\nimport google from \"../../images/google.svg\";\n\n// context\nimport { useUserDispatch, loginUser } from \"../../context/UserContext\";\n\nfunction Login(props) {\n var classes = useStyles();\n\n // global\n var userDispatch = useUserDispatch();\n\n // local\n var [isLoading, setIsLoading] = useState(false);\n var [error, setError] = useState(null);\n var [activeTabId, setActiveTabId] = useState(0);\n var [nameValue, setNameValue] = useState(\"\");\n var [loginValue, setLoginValue] = useState(\"\");\n var [passwordValue, setPasswordValue] = useState(\"\");\n\n return (\n \n \n

\n
Material Admin\n
\n \n
\n
setActiveTabId(id)}\n indicatorColor=\"primary\"\n textColor=\"primary\"\n centered\n >\n \n \n \n {activeTabId === 0 && (\n
\n \n Good Morning, User\n \n \n
\n Sign in with Google\n \n \n \n \n Something is wrong with your login or password :(\n \n \n setLoginValue(e.target.value)}\n margin=\"normal\"\n placeholder=\"Email Adress\"\n type=\"email\"\n fullWidth\n />\n setPasswordValue(e.target.value)}\n margin=\"normal\"\n placeholder=\"Password\"\n type=\"password\"\n fullWidth\n />\n \n {isLoading ? (\n \n ) : (\n \n loginUser(\n userDispatch,\n loginValue,\n passwordValue,\n props.history,\n setIsLoading,\n setError,\n )\n }\n variant=\"contained\"\n color=\"primary\"\n size=\"large\"\n >\n Login\n \n )}\n \n Forget Password\n \n
\n \n )}\n {activeTabId === 1 && (\n
\n \n Welcome!\n \n \n Create your account\n \n \n \n Something is wrong with your login or password :(\n \n \n setNameValue(e.target.value)}\n margin=\"normal\"\n placeholder=\"Full Name\"\n type=\"text\"\n fullWidth\n />\n setLoginValue(e.target.value)}\n margin=\"normal\"\n placeholder=\"Email Adress\"\n type=\"email\"\n fullWidth\n />\n setPasswordValue(e.target.value)}\n margin=\"normal\"\n placeholder=\"Password\"\n type=\"password\"\n fullWidth\n />\n \n {isLoading ? (\n \n ) : (\n \n loginUser(\n userDispatch,\n loginValue,\n passwordValue,\n props.history,\n setIsLoading,\n setError,\n )\n }\n disabled={\n loginValue.length === 0 ||\n passwordValue.length === 0 ||\n nameValue.length === 0\n }\n size=\"large\"\n variant=\"contained\"\n color=\"primary\"\n fullWidth\n className={classes.createAccountButton}\n >\n Create your account\n \n )}\n
\n \n \n
\n Sign in with Google\n \n \n )}\n
\n
\n © 2014-2019 Flatlogic, LLC. All rights reserved.\n \n
\n \n );\n}\n\nexport default withRouter(Login);\n","import React from \"react\";\nimport { HashRouter, Route, Switch, Redirect } from \"react-router-dom\";\n\n// components\nimport Layout from \"./Layout\";\n\n// pages\nimport Error from \"../pages/error\";\nimport Login from \"../pages/login\";\n\n// context\nimport { useUserState } from \"../context/UserContext\";\n\nexport default function App() {\n // global\n var { isAuthenticated } = useUserState();\n\n return (\n \n \n } />\n }\n />\n \n // \n \n \n \n );\n\n // #######################################################################\n\n // function PrivateRoute({ component, ...rest }) {\n // return (\n // \n // isAuthenticated ? (\n // React.createElement(component, props)\n // ) : (\n // \n // )\n // }\n // />\n // );\n // }\n\n function PublicRoute({ component, ...rest }) {\n return (\n \n React.createElement(component, props)\n }\n />\n );\n }\n}\n","// This optional code is used to register a service worker.\n// register() is not called by default.\n\n// This lets the app load faster on subsequent visits in production, and gives\n// it offline capabilities. However, it also means that developers (and users)\n// will only see deployed updates on subsequent visits to a page, after all the\n// existing tabs open on the page have been closed, since previously cached\n// resources are updated in the background.\n\n// To learn more about the benefits of this model and instructions on how to\n// opt-in, read http://bit.ly/CRA-PWA\n\nconst isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n // [::1] is the IPv6 localhost address.\n window.location.hostname === '[::1]' ||\n // 127.0.0.1/8 is considered localhost for IPv4.\n window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n);\n\nexport function register(config) {\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\n // The URL constructor is available in all browsers that support SW.\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href);\n if (publicUrl.origin !== window.location.origin) {\n // Our service worker won't work if PUBLIC_URL is on a different origin\n // from what our page is served on. This might happen if a CDN is used to\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\n return;\n }\n\n window.addEventListener('load', () => {\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\n\n if (isLocalhost) {\n // This is running on localhost. Let's check if a service worker still exists or not.\n checkValidServiceWorker(swUrl, config);\n\n // Add some additional logging to localhost, pointing developers to the\n // service worker/PWA documentation.\n navigator.serviceWorker.ready.then(() => {\n console.log(\n 'This web app is being served cache-first by a service ' +\n 'worker. To learn more, visit http://bit.ly/CRA-PWA'\n );\n });\n } else {\n // Is not localhost. Just register service worker\n registerValidSW(swUrl, config);\n }\n });\n }\n}\n\nfunction registerValidSW(swUrl, config) {\n navigator.serviceWorker\n .register(swUrl)\n .then(registration => {\n registration.onupdatefound = () => {\n const installingWorker = registration.installing;\n if (installingWorker == null) {\n return;\n }\n installingWorker.onstatechange = () => {\n if (installingWorker.state === 'installed') {\n if (navigator.serviceWorker.controller) {\n // At this point, the updated precached content has been fetched,\n // but the previous service worker will still serve the older\n // content until all client tabs are closed.\n console.log(\n 'New content is available and will be used when all ' +\n 'tabs for this page are closed. See http://bit.ly/CRA-PWA.'\n );\n\n // Execute callback\n if (config && config.onUpdate) {\n config.onUpdate(registration);\n }\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a\n // \"Content is cached for offline use.\" message.\n console.log('Content is cached for offline use.');\n\n // Execute callback\n if (config && config.onSuccess) {\n config.onSuccess(registration);\n }\n }\n }\n };\n };\n })\n .catch(error => {\n console.error('Error during service worker registration:', error);\n });\n}\n\nfunction checkValidServiceWorker(swUrl, config) {\n // Check if the service worker can be found. If it can't reload the page.\n fetch(swUrl)\n .then(response => {\n // Ensure service worker exists, and that we really are getting a JS file.\n const contentType = response.headers.get('content-type');\n if (\n response.status === 404 ||\n (contentType != null && contentType.indexOf('javascript') === -1)\n ) {\n // No service worker found. Probably a different app. Reload the page.\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister().then(() => {\n window.location.reload();\n });\n });\n } else {\n // Service worker found. Proceed as normal.\n registerValidSW(swUrl, config);\n }\n })\n .catch(() => {\n console.log(\n 'No internet connection found. App is running in offline mode.'\n );\n });\n}\n\nexport function unregister() {\n if ('serviceWorker' in navigator) {\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister();\n });\n }\n}\n","import React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport { ThemeProvider } from \"@material-ui/styles\";\nimport { CssBaseline } from \"@material-ui/core\";\n\nimport Themes from \"./themes\";\nimport App from \"./components/App\";\nimport * as serviceWorker from \"./serviceWorker\";\nimport { LayoutProvider } from \"./context/LayoutContext\";\nimport { UserProvider } from \"./context/UserContext\";\n\nReactDOM.render(\n \n \n \n \n \n \n \n ,\n document.getElementById(\"root\"),\n);\n\n// If you want your app to work offline and load faster, you can change\n// unregister() to register() below. Note this comes with some pitfalls.\n// Learn more about service workers: http://bit.ly/CRA-PWA\nserviceWorker.unregister();\n","/* eslint-disable */\n/**\n * @fileoverview\n * @enhanceable\n * @suppress {messageConventions} JS Compiler reports an error if a variable or\n * field starts with 'MSG_' and isn't a translatable message.\n * @public\n */\n// GENERATED CODE -- DO NOT EDIT!\n\nvar jspb = require('google-protobuf');\nvar goog = jspb;\nvar global = Function('return this')();\n\nvar proto_lnd_pb = require('../proto/lnd_pb.js');\ngoog.exportSymbol('proto.squeaknode.CreateContactProfileReply', null, global);\ngoog.exportSymbol('proto.squeaknode.CreateContactProfileRequest', null, global);\ngoog.exportSymbol('proto.squeaknode.CreatePeerReply', null, global);\ngoog.exportSymbol('proto.squeaknode.CreatePeerRequest', null, global);\ngoog.exportSymbol('proto.squeaknode.CreateSigningProfileReply', null, global);\ngoog.exportSymbol('proto.squeaknode.CreateSigningProfileRequest', null, global);\ngoog.exportSymbol('proto.squeaknode.DeletePeerReply', null, global);\ngoog.exportSymbol('proto.squeaknode.DeletePeerRequest', null, global);\ngoog.exportSymbol('proto.squeaknode.DeleteSqueakProfileReply', null, global);\ngoog.exportSymbol('proto.squeaknode.DeleteSqueakProfileRequest', null, global);\ngoog.exportSymbol('proto.squeaknode.DeleteSqueakReply', null, global);\ngoog.exportSymbol('proto.squeaknode.DeleteSqueakRequest', null, global);\ngoog.exportSymbol('proto.squeaknode.GetAddressSqueakDisplaysReply', null, global);\ngoog.exportSymbol('proto.squeaknode.GetAddressSqueakDisplaysRequest', null, global);\ngoog.exportSymbol('proto.squeaknode.GetAncestorSqueakDisplaysReply', null, global);\ngoog.exportSymbol('proto.squeaknode.GetAncestorSqueakDisplaysRequest', null, global);\ngoog.exportSymbol('proto.squeaknode.GetBuyOfferReply', null, global);\ngoog.exportSymbol('proto.squeaknode.GetBuyOfferRequest', null, global);\ngoog.exportSymbol('proto.squeaknode.GetBuyOffersReply', null, global);\ngoog.exportSymbol('proto.squeaknode.GetBuyOffersRequest', null, global);\ngoog.exportSymbol('proto.squeaknode.GetContactProfilesReply', null, global);\ngoog.exportSymbol('proto.squeaknode.GetContactProfilesRequest', null, global);\ngoog.exportSymbol('proto.squeaknode.GetNetworkReply', null, global);\ngoog.exportSymbol('proto.squeaknode.GetNetworkRequest', null, global);\ngoog.exportSymbol('proto.squeaknode.GetPeerReply', null, global);\ngoog.exportSymbol('proto.squeaknode.GetPeerRequest', null, global);\ngoog.exportSymbol('proto.squeaknode.GetPeersReply', null, global);\ngoog.exportSymbol('proto.squeaknode.GetPeersRequest', null, global);\ngoog.exportSymbol('proto.squeaknode.GetReceivedPaymentsReply', null, global);\ngoog.exportSymbol('proto.squeaknode.GetReceivedPaymentsRequest', null, global);\ngoog.exportSymbol('proto.squeaknode.GetSentOffersReply', null, global);\ngoog.exportSymbol('proto.squeaknode.GetSentOffersRequest', null, global);\ngoog.exportSymbol('proto.squeaknode.GetSentPaymentReply', null, global);\ngoog.exportSymbol('proto.squeaknode.GetSentPaymentRequest', null, global);\ngoog.exportSymbol('proto.squeaknode.GetSentPaymentsReply', null, global);\ngoog.exportSymbol('proto.squeaknode.GetSentPaymentsRequest', null, global);\ngoog.exportSymbol('proto.squeaknode.GetSigningProfilesReply', null, global);\ngoog.exportSymbol('proto.squeaknode.GetSigningProfilesRequest', null, global);\ngoog.exportSymbol('proto.squeaknode.GetSqueakDetailsReply', null, global);\ngoog.exportSymbol('proto.squeaknode.GetSqueakDetailsRequest', null, global);\ngoog.exportSymbol('proto.squeaknode.GetSqueakDisplayReply', null, global);\ngoog.exportSymbol('proto.squeaknode.GetSqueakDisplayRequest', null, global);\ngoog.exportSymbol('proto.squeaknode.GetSqueakProfileByAddressReply', null, global);\ngoog.exportSymbol('proto.squeaknode.GetSqueakProfileByAddressRequest', null, global);\ngoog.exportSymbol('proto.squeaknode.GetSqueakProfileByNameReply', null, global);\ngoog.exportSymbol('proto.squeaknode.GetSqueakProfileByNameRequest', null, global);\ngoog.exportSymbol('proto.squeaknode.GetSqueakProfileReply', null, global);\ngoog.exportSymbol('proto.squeaknode.GetSqueakProfileRequest', null, global);\ngoog.exportSymbol('proto.squeaknode.GetTimelineSqueakDisplaysReply', null, global);\ngoog.exportSymbol('proto.squeaknode.GetTimelineSqueakDisplaysRequest', null, global);\ngoog.exportSymbol('proto.squeaknode.LoadBuyOffersReply', null, global);\ngoog.exportSymbol('proto.squeaknode.LoadBuyOffersRequest', null, global);\ngoog.exportSymbol('proto.squeaknode.MakeSqueakReply', null, global);\ngoog.exportSymbol('proto.squeaknode.MakeSqueakRequest', null, global);\ngoog.exportSymbol('proto.squeaknode.OfferDisplayEntry', null, global);\ngoog.exportSymbol('proto.squeaknode.PayOfferReply', null, global);\ngoog.exportSymbol('proto.squeaknode.PayOfferRequest', null, global);\ngoog.exportSymbol('proto.squeaknode.ReceivedPayment', null, global);\ngoog.exportSymbol('proto.squeaknode.SentOffer', null, global);\ngoog.exportSymbol('proto.squeaknode.SentPayment', null, global);\ngoog.exportSymbol('proto.squeaknode.SetPeerDownloadingReply', null, global);\ngoog.exportSymbol('proto.squeaknode.SetPeerDownloadingRequest', null, global);\ngoog.exportSymbol('proto.squeaknode.SetPeerUploadingReply', null, global);\ngoog.exportSymbol('proto.squeaknode.SetPeerUploadingRequest', null, global);\ngoog.exportSymbol('proto.squeaknode.SetSqueakProfileFollowingReply', null, global);\ngoog.exportSymbol('proto.squeaknode.SetSqueakProfileFollowingRequest', null, global);\ngoog.exportSymbol('proto.squeaknode.SetSqueakProfileSharingReply', null, global);\ngoog.exportSymbol('proto.squeaknode.SetSqueakProfileSharingRequest', null, global);\ngoog.exportSymbol('proto.squeaknode.SqueakDetailEntry', null, global);\ngoog.exportSymbol('proto.squeaknode.SqueakDisplayEntry', null, global);\ngoog.exportSymbol('proto.squeaknode.SqueakPeer', null, global);\ngoog.exportSymbol('proto.squeaknode.SqueakProfile', null, global);\ngoog.exportSymbol('proto.squeaknode.SubscribeReceivedPaymentsRequest', null, global);\ngoog.exportSymbol('proto.squeaknode.SyncResult', null, global);\ngoog.exportSymbol('proto.squeaknode.SyncSqueakReply', null, global);\ngoog.exportSymbol('proto.squeaknode.SyncSqueakRequest', null, global);\ngoog.exportSymbol('proto.squeaknode.SyncSqueaksReply', null, global);\ngoog.exportSymbol('proto.squeaknode.SyncSqueaksRequest', null, global);\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.squeaknode.CreateSigningProfileRequest = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.squeaknode.CreateSigningProfileRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.squeaknode.CreateSigningProfileRequest.displayName = 'proto.squeaknode.CreateSigningProfileRequest';\n}\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.squeaknode.CreateSigningProfileRequest.prototype.toObject = function(opt_includeInstance) {\n return proto.squeaknode.CreateSigningProfileRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.squeaknode.CreateSigningProfileRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.CreateSigningProfileRequest.toObject = function(includeInstance, msg) {\n var f, obj = {\n profileName: jspb.Message.getFieldWithDefault(msg, 1, \"\")\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.squeaknode.CreateSigningProfileRequest}\n */\nproto.squeaknode.CreateSigningProfileRequest.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.squeaknode.CreateSigningProfileRequest;\n return proto.squeaknode.CreateSigningProfileRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.squeaknode.CreateSigningProfileRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.squeaknode.CreateSigningProfileRequest}\n */\nproto.squeaknode.CreateSigningProfileRequest.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setProfileName(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.squeaknode.CreateSigningProfileRequest.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.squeaknode.CreateSigningProfileRequest.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.squeaknode.CreateSigningProfileRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.CreateSigningProfileRequest.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getProfileName();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n};\n\n\n/**\n * optional string profile_name = 1;\n * @return {string}\n */\nproto.squeaknode.CreateSigningProfileRequest.prototype.getProfileName = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/** @param {string} value */\nproto.squeaknode.CreateSigningProfileRequest.prototype.setProfileName = function(value) {\n jspb.Message.setField(this, 1, value);\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.squeaknode.CreateSigningProfileReply = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.squeaknode.CreateSigningProfileReply, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.squeaknode.CreateSigningProfileReply.displayName = 'proto.squeaknode.CreateSigningProfileReply';\n}\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.squeaknode.CreateSigningProfileReply.prototype.toObject = function(opt_includeInstance) {\n return proto.squeaknode.CreateSigningProfileReply.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.squeaknode.CreateSigningProfileReply} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.CreateSigningProfileReply.toObject = function(includeInstance, msg) {\n var f, obj = {\n profileId: jspb.Message.getFieldWithDefault(msg, 1, 0)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.squeaknode.CreateSigningProfileReply}\n */\nproto.squeaknode.CreateSigningProfileReply.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.squeaknode.CreateSigningProfileReply;\n return proto.squeaknode.CreateSigningProfileReply.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.squeaknode.CreateSigningProfileReply} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.squeaknode.CreateSigningProfileReply}\n */\nproto.squeaknode.CreateSigningProfileReply.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {number} */ (reader.readInt32());\n msg.setProfileId(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.squeaknode.CreateSigningProfileReply.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.squeaknode.CreateSigningProfileReply.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.squeaknode.CreateSigningProfileReply} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.CreateSigningProfileReply.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getProfileId();\n if (f !== 0) {\n writer.writeInt32(\n 1,\n f\n );\n }\n};\n\n\n/**\n * optional int32 profile_id = 1;\n * @return {number}\n */\nproto.squeaknode.CreateSigningProfileReply.prototype.getProfileId = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/** @param {number} value */\nproto.squeaknode.CreateSigningProfileReply.prototype.setProfileId = function(value) {\n jspb.Message.setField(this, 1, value);\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.squeaknode.CreateContactProfileRequest = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.squeaknode.CreateContactProfileRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.squeaknode.CreateContactProfileRequest.displayName = 'proto.squeaknode.CreateContactProfileRequest';\n}\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.squeaknode.CreateContactProfileRequest.prototype.toObject = function(opt_includeInstance) {\n return proto.squeaknode.CreateContactProfileRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.squeaknode.CreateContactProfileRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.CreateContactProfileRequest.toObject = function(includeInstance, msg) {\n var f, obj = {\n profileName: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n address: jspb.Message.getFieldWithDefault(msg, 2, \"\")\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.squeaknode.CreateContactProfileRequest}\n */\nproto.squeaknode.CreateContactProfileRequest.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.squeaknode.CreateContactProfileRequest;\n return proto.squeaknode.CreateContactProfileRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.squeaknode.CreateContactProfileRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.squeaknode.CreateContactProfileRequest}\n */\nproto.squeaknode.CreateContactProfileRequest.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setProfileName(value);\n break;\n case 2:\n var value = /** @type {string} */ (reader.readString());\n msg.setAddress(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.squeaknode.CreateContactProfileRequest.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.squeaknode.CreateContactProfileRequest.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.squeaknode.CreateContactProfileRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.CreateContactProfileRequest.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getProfileName();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n f = message.getAddress();\n if (f.length > 0) {\n writer.writeString(\n 2,\n f\n );\n }\n};\n\n\n/**\n * optional string profile_name = 1;\n * @return {string}\n */\nproto.squeaknode.CreateContactProfileRequest.prototype.getProfileName = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/** @param {string} value */\nproto.squeaknode.CreateContactProfileRequest.prototype.setProfileName = function(value) {\n jspb.Message.setField(this, 1, value);\n};\n\n\n/**\n * optional string address = 2;\n * @return {string}\n */\nproto.squeaknode.CreateContactProfileRequest.prototype.getAddress = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/** @param {string} value */\nproto.squeaknode.CreateContactProfileRequest.prototype.setAddress = function(value) {\n jspb.Message.setField(this, 2, value);\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.squeaknode.CreateContactProfileReply = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.squeaknode.CreateContactProfileReply, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.squeaknode.CreateContactProfileReply.displayName = 'proto.squeaknode.CreateContactProfileReply';\n}\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.squeaknode.CreateContactProfileReply.prototype.toObject = function(opt_includeInstance) {\n return proto.squeaknode.CreateContactProfileReply.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.squeaknode.CreateContactProfileReply} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.CreateContactProfileReply.toObject = function(includeInstance, msg) {\n var f, obj = {\n profileId: jspb.Message.getFieldWithDefault(msg, 1, 0)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.squeaknode.CreateContactProfileReply}\n */\nproto.squeaknode.CreateContactProfileReply.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.squeaknode.CreateContactProfileReply;\n return proto.squeaknode.CreateContactProfileReply.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.squeaknode.CreateContactProfileReply} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.squeaknode.CreateContactProfileReply}\n */\nproto.squeaknode.CreateContactProfileReply.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {number} */ (reader.readInt32());\n msg.setProfileId(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.squeaknode.CreateContactProfileReply.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.squeaknode.CreateContactProfileReply.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.squeaknode.CreateContactProfileReply} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.CreateContactProfileReply.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getProfileId();\n if (f !== 0) {\n writer.writeInt32(\n 1,\n f\n );\n }\n};\n\n\n/**\n * optional int32 profile_id = 1;\n * @return {number}\n */\nproto.squeaknode.CreateContactProfileReply.prototype.getProfileId = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/** @param {number} value */\nproto.squeaknode.CreateContactProfileReply.prototype.setProfileId = function(value) {\n jspb.Message.setField(this, 1, value);\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.squeaknode.GetSigningProfilesRequest = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.squeaknode.GetSigningProfilesRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.squeaknode.GetSigningProfilesRequest.displayName = 'proto.squeaknode.GetSigningProfilesRequest';\n}\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.squeaknode.GetSigningProfilesRequest.prototype.toObject = function(opt_includeInstance) {\n return proto.squeaknode.GetSigningProfilesRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.squeaknode.GetSigningProfilesRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.GetSigningProfilesRequest.toObject = function(includeInstance, msg) {\n var f, obj = {\n\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.squeaknode.GetSigningProfilesRequest}\n */\nproto.squeaknode.GetSigningProfilesRequest.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.squeaknode.GetSigningProfilesRequest;\n return proto.squeaknode.GetSigningProfilesRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.squeaknode.GetSigningProfilesRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.squeaknode.GetSigningProfilesRequest}\n */\nproto.squeaknode.GetSigningProfilesRequest.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.squeaknode.GetSigningProfilesRequest.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.squeaknode.GetSigningProfilesRequest.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.squeaknode.GetSigningProfilesRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.GetSigningProfilesRequest.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.squeaknode.GetSigningProfilesReply = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, proto.squeaknode.GetSigningProfilesReply.repeatedFields_, null);\n};\ngoog.inherits(proto.squeaknode.GetSigningProfilesReply, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.squeaknode.GetSigningProfilesReply.displayName = 'proto.squeaknode.GetSigningProfilesReply';\n}\n/**\n * List of repeated fields within this message type.\n * @private {!Array}\n * @const\n */\nproto.squeaknode.GetSigningProfilesReply.repeatedFields_ = [1];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.squeaknode.GetSigningProfilesReply.prototype.toObject = function(opt_includeInstance) {\n return proto.squeaknode.GetSigningProfilesReply.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.squeaknode.GetSigningProfilesReply} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.GetSigningProfilesReply.toObject = function(includeInstance, msg) {\n var f, obj = {\n squeakProfilesList: jspb.Message.toObjectList(msg.getSqueakProfilesList(),\n proto.squeaknode.SqueakProfile.toObject, includeInstance)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.squeaknode.GetSigningProfilesReply}\n */\nproto.squeaknode.GetSigningProfilesReply.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.squeaknode.GetSigningProfilesReply;\n return proto.squeaknode.GetSigningProfilesReply.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.squeaknode.GetSigningProfilesReply} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.squeaknode.GetSigningProfilesReply}\n */\nproto.squeaknode.GetSigningProfilesReply.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = new proto.squeaknode.SqueakProfile;\n reader.readMessage(value,proto.squeaknode.SqueakProfile.deserializeBinaryFromReader);\n msg.addSqueakProfiles(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.squeaknode.GetSigningProfilesReply.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.squeaknode.GetSigningProfilesReply.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.squeaknode.GetSigningProfilesReply} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.GetSigningProfilesReply.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getSqueakProfilesList();\n if (f.length > 0) {\n writer.writeRepeatedMessage(\n 1,\n f,\n proto.squeaknode.SqueakProfile.serializeBinaryToWriter\n );\n }\n};\n\n\n/**\n * repeated SqueakProfile squeak_profiles = 1;\n * @return {!Array.}\n */\nproto.squeaknode.GetSigningProfilesReply.prototype.getSqueakProfilesList = function() {\n return /** @type{!Array.} */ (\n jspb.Message.getRepeatedWrapperField(this, proto.squeaknode.SqueakProfile, 1));\n};\n\n\n/** @param {!Array.} value */\nproto.squeaknode.GetSigningProfilesReply.prototype.setSqueakProfilesList = function(value) {\n jspb.Message.setRepeatedWrapperField(this, 1, value);\n};\n\n\n/**\n * @param {!proto.squeaknode.SqueakProfile=} opt_value\n * @param {number=} opt_index\n * @return {!proto.squeaknode.SqueakProfile}\n */\nproto.squeaknode.GetSigningProfilesReply.prototype.addSqueakProfiles = function(opt_value, opt_index) {\n return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.squeaknode.SqueakProfile, opt_index);\n};\n\n\nproto.squeaknode.GetSigningProfilesReply.prototype.clearSqueakProfilesList = function() {\n this.setSqueakProfilesList([]);\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.squeaknode.GetContactProfilesRequest = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.squeaknode.GetContactProfilesRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.squeaknode.GetContactProfilesRequest.displayName = 'proto.squeaknode.GetContactProfilesRequest';\n}\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.squeaknode.GetContactProfilesRequest.prototype.toObject = function(opt_includeInstance) {\n return proto.squeaknode.GetContactProfilesRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.squeaknode.GetContactProfilesRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.GetContactProfilesRequest.toObject = function(includeInstance, msg) {\n var f, obj = {\n\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.squeaknode.GetContactProfilesRequest}\n */\nproto.squeaknode.GetContactProfilesRequest.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.squeaknode.GetContactProfilesRequest;\n return proto.squeaknode.GetContactProfilesRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.squeaknode.GetContactProfilesRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.squeaknode.GetContactProfilesRequest}\n */\nproto.squeaknode.GetContactProfilesRequest.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.squeaknode.GetContactProfilesRequest.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.squeaknode.GetContactProfilesRequest.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.squeaknode.GetContactProfilesRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.GetContactProfilesRequest.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.squeaknode.GetContactProfilesReply = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, proto.squeaknode.GetContactProfilesReply.repeatedFields_, null);\n};\ngoog.inherits(proto.squeaknode.GetContactProfilesReply, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.squeaknode.GetContactProfilesReply.displayName = 'proto.squeaknode.GetContactProfilesReply';\n}\n/**\n * List of repeated fields within this message type.\n * @private {!Array}\n * @const\n */\nproto.squeaknode.GetContactProfilesReply.repeatedFields_ = [1];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.squeaknode.GetContactProfilesReply.prototype.toObject = function(opt_includeInstance) {\n return proto.squeaknode.GetContactProfilesReply.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.squeaknode.GetContactProfilesReply} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.GetContactProfilesReply.toObject = function(includeInstance, msg) {\n var f, obj = {\n squeakProfilesList: jspb.Message.toObjectList(msg.getSqueakProfilesList(),\n proto.squeaknode.SqueakProfile.toObject, includeInstance)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.squeaknode.GetContactProfilesReply}\n */\nproto.squeaknode.GetContactProfilesReply.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.squeaknode.GetContactProfilesReply;\n return proto.squeaknode.GetContactProfilesReply.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.squeaknode.GetContactProfilesReply} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.squeaknode.GetContactProfilesReply}\n */\nproto.squeaknode.GetContactProfilesReply.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = new proto.squeaknode.SqueakProfile;\n reader.readMessage(value,proto.squeaknode.SqueakProfile.deserializeBinaryFromReader);\n msg.addSqueakProfiles(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.squeaknode.GetContactProfilesReply.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.squeaknode.GetContactProfilesReply.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.squeaknode.GetContactProfilesReply} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.GetContactProfilesReply.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getSqueakProfilesList();\n if (f.length > 0) {\n writer.writeRepeatedMessage(\n 1,\n f,\n proto.squeaknode.SqueakProfile.serializeBinaryToWriter\n );\n }\n};\n\n\n/**\n * repeated SqueakProfile squeak_profiles = 1;\n * @return {!Array.}\n */\nproto.squeaknode.GetContactProfilesReply.prototype.getSqueakProfilesList = function() {\n return /** @type{!Array.} */ (\n jspb.Message.getRepeatedWrapperField(this, proto.squeaknode.SqueakProfile, 1));\n};\n\n\n/** @param {!Array.} value */\nproto.squeaknode.GetContactProfilesReply.prototype.setSqueakProfilesList = function(value) {\n jspb.Message.setRepeatedWrapperField(this, 1, value);\n};\n\n\n/**\n * @param {!proto.squeaknode.SqueakProfile=} opt_value\n * @param {number=} opt_index\n * @return {!proto.squeaknode.SqueakProfile}\n */\nproto.squeaknode.GetContactProfilesReply.prototype.addSqueakProfiles = function(opt_value, opt_index) {\n return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.squeaknode.SqueakProfile, opt_index);\n};\n\n\nproto.squeaknode.GetContactProfilesReply.prototype.clearSqueakProfilesList = function() {\n this.setSqueakProfilesList([]);\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.squeaknode.GetSqueakProfileRequest = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.squeaknode.GetSqueakProfileRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.squeaknode.GetSqueakProfileRequest.displayName = 'proto.squeaknode.GetSqueakProfileRequest';\n}\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.squeaknode.GetSqueakProfileRequest.prototype.toObject = function(opt_includeInstance) {\n return proto.squeaknode.GetSqueakProfileRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.squeaknode.GetSqueakProfileRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.GetSqueakProfileRequest.toObject = function(includeInstance, msg) {\n var f, obj = {\n profileId: jspb.Message.getFieldWithDefault(msg, 1, 0)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.squeaknode.GetSqueakProfileRequest}\n */\nproto.squeaknode.GetSqueakProfileRequest.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.squeaknode.GetSqueakProfileRequest;\n return proto.squeaknode.GetSqueakProfileRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.squeaknode.GetSqueakProfileRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.squeaknode.GetSqueakProfileRequest}\n */\nproto.squeaknode.GetSqueakProfileRequest.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {number} */ (reader.readInt32());\n msg.setProfileId(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.squeaknode.GetSqueakProfileRequest.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.squeaknode.GetSqueakProfileRequest.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.squeaknode.GetSqueakProfileRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.GetSqueakProfileRequest.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getProfileId();\n if (f !== 0) {\n writer.writeInt32(\n 1,\n f\n );\n }\n};\n\n\n/**\n * optional int32 profile_id = 1;\n * @return {number}\n */\nproto.squeaknode.GetSqueakProfileRequest.prototype.getProfileId = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/** @param {number} value */\nproto.squeaknode.GetSqueakProfileRequest.prototype.setProfileId = function(value) {\n jspb.Message.setField(this, 1, value);\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.squeaknode.GetSqueakProfileReply = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.squeaknode.GetSqueakProfileReply, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.squeaknode.GetSqueakProfileReply.displayName = 'proto.squeaknode.GetSqueakProfileReply';\n}\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.squeaknode.GetSqueakProfileReply.prototype.toObject = function(opt_includeInstance) {\n return proto.squeaknode.GetSqueakProfileReply.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.squeaknode.GetSqueakProfileReply} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.GetSqueakProfileReply.toObject = function(includeInstance, msg) {\n var f, obj = {\n squeakProfile: (f = msg.getSqueakProfile()) && proto.squeaknode.SqueakProfile.toObject(includeInstance, f)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.squeaknode.GetSqueakProfileReply}\n */\nproto.squeaknode.GetSqueakProfileReply.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.squeaknode.GetSqueakProfileReply;\n return proto.squeaknode.GetSqueakProfileReply.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.squeaknode.GetSqueakProfileReply} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.squeaknode.GetSqueakProfileReply}\n */\nproto.squeaknode.GetSqueakProfileReply.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = new proto.squeaknode.SqueakProfile;\n reader.readMessage(value,proto.squeaknode.SqueakProfile.deserializeBinaryFromReader);\n msg.setSqueakProfile(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.squeaknode.GetSqueakProfileReply.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.squeaknode.GetSqueakProfileReply.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.squeaknode.GetSqueakProfileReply} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.GetSqueakProfileReply.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getSqueakProfile();\n if (f != null) {\n writer.writeMessage(\n 1,\n f,\n proto.squeaknode.SqueakProfile.serializeBinaryToWriter\n );\n }\n};\n\n\n/**\n * optional SqueakProfile squeak_profile = 1;\n * @return {?proto.squeaknode.SqueakProfile}\n */\nproto.squeaknode.GetSqueakProfileReply.prototype.getSqueakProfile = function() {\n return /** @type{?proto.squeaknode.SqueakProfile} */ (\n jspb.Message.getWrapperField(this, proto.squeaknode.SqueakProfile, 1));\n};\n\n\n/** @param {?proto.squeaknode.SqueakProfile|undefined} value */\nproto.squeaknode.GetSqueakProfileReply.prototype.setSqueakProfile = function(value) {\n jspb.Message.setWrapperField(this, 1, value);\n};\n\n\nproto.squeaknode.GetSqueakProfileReply.prototype.clearSqueakProfile = function() {\n this.setSqueakProfile(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {!boolean}\n */\nproto.squeaknode.GetSqueakProfileReply.prototype.hasSqueakProfile = function() {\n return jspb.Message.getField(this, 1) != null;\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.squeaknode.GetSqueakProfileByAddressRequest = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.squeaknode.GetSqueakProfileByAddressRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.squeaknode.GetSqueakProfileByAddressRequest.displayName = 'proto.squeaknode.GetSqueakProfileByAddressRequest';\n}\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.squeaknode.GetSqueakProfileByAddressRequest.prototype.toObject = function(opt_includeInstance) {\n return proto.squeaknode.GetSqueakProfileByAddressRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.squeaknode.GetSqueakProfileByAddressRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.GetSqueakProfileByAddressRequest.toObject = function(includeInstance, msg) {\n var f, obj = {\n address: jspb.Message.getFieldWithDefault(msg, 1, \"\")\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.squeaknode.GetSqueakProfileByAddressRequest}\n */\nproto.squeaknode.GetSqueakProfileByAddressRequest.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.squeaknode.GetSqueakProfileByAddressRequest;\n return proto.squeaknode.GetSqueakProfileByAddressRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.squeaknode.GetSqueakProfileByAddressRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.squeaknode.GetSqueakProfileByAddressRequest}\n */\nproto.squeaknode.GetSqueakProfileByAddressRequest.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setAddress(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.squeaknode.GetSqueakProfileByAddressRequest.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.squeaknode.GetSqueakProfileByAddressRequest.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.squeaknode.GetSqueakProfileByAddressRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.GetSqueakProfileByAddressRequest.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getAddress();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n};\n\n\n/**\n * optional string address = 1;\n * @return {string}\n */\nproto.squeaknode.GetSqueakProfileByAddressRequest.prototype.getAddress = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/** @param {string} value */\nproto.squeaknode.GetSqueakProfileByAddressRequest.prototype.setAddress = function(value) {\n jspb.Message.setField(this, 1, value);\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.squeaknode.GetSqueakProfileByAddressReply = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.squeaknode.GetSqueakProfileByAddressReply, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.squeaknode.GetSqueakProfileByAddressReply.displayName = 'proto.squeaknode.GetSqueakProfileByAddressReply';\n}\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.squeaknode.GetSqueakProfileByAddressReply.prototype.toObject = function(opt_includeInstance) {\n return proto.squeaknode.GetSqueakProfileByAddressReply.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.squeaknode.GetSqueakProfileByAddressReply} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.GetSqueakProfileByAddressReply.toObject = function(includeInstance, msg) {\n var f, obj = {\n squeakProfile: (f = msg.getSqueakProfile()) && proto.squeaknode.SqueakProfile.toObject(includeInstance, f)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.squeaknode.GetSqueakProfileByAddressReply}\n */\nproto.squeaknode.GetSqueakProfileByAddressReply.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.squeaknode.GetSqueakProfileByAddressReply;\n return proto.squeaknode.GetSqueakProfileByAddressReply.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.squeaknode.GetSqueakProfileByAddressReply} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.squeaknode.GetSqueakProfileByAddressReply}\n */\nproto.squeaknode.GetSqueakProfileByAddressReply.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = new proto.squeaknode.SqueakProfile;\n reader.readMessage(value,proto.squeaknode.SqueakProfile.deserializeBinaryFromReader);\n msg.setSqueakProfile(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.squeaknode.GetSqueakProfileByAddressReply.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.squeaknode.GetSqueakProfileByAddressReply.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.squeaknode.GetSqueakProfileByAddressReply} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.GetSqueakProfileByAddressReply.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getSqueakProfile();\n if (f != null) {\n writer.writeMessage(\n 1,\n f,\n proto.squeaknode.SqueakProfile.serializeBinaryToWriter\n );\n }\n};\n\n\n/**\n * optional SqueakProfile squeak_profile = 1;\n * @return {?proto.squeaknode.SqueakProfile}\n */\nproto.squeaknode.GetSqueakProfileByAddressReply.prototype.getSqueakProfile = function() {\n return /** @type{?proto.squeaknode.SqueakProfile} */ (\n jspb.Message.getWrapperField(this, proto.squeaknode.SqueakProfile, 1));\n};\n\n\n/** @param {?proto.squeaknode.SqueakProfile|undefined} value */\nproto.squeaknode.GetSqueakProfileByAddressReply.prototype.setSqueakProfile = function(value) {\n jspb.Message.setWrapperField(this, 1, value);\n};\n\n\nproto.squeaknode.GetSqueakProfileByAddressReply.prototype.clearSqueakProfile = function() {\n this.setSqueakProfile(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {!boolean}\n */\nproto.squeaknode.GetSqueakProfileByAddressReply.prototype.hasSqueakProfile = function() {\n return jspb.Message.getField(this, 1) != null;\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.squeaknode.GetSqueakProfileByNameRequest = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.squeaknode.GetSqueakProfileByNameRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.squeaknode.GetSqueakProfileByNameRequest.displayName = 'proto.squeaknode.GetSqueakProfileByNameRequest';\n}\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.squeaknode.GetSqueakProfileByNameRequest.prototype.toObject = function(opt_includeInstance) {\n return proto.squeaknode.GetSqueakProfileByNameRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.squeaknode.GetSqueakProfileByNameRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.GetSqueakProfileByNameRequest.toObject = function(includeInstance, msg) {\n var f, obj = {\n name: jspb.Message.getFieldWithDefault(msg, 1, \"\")\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.squeaknode.GetSqueakProfileByNameRequest}\n */\nproto.squeaknode.GetSqueakProfileByNameRequest.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.squeaknode.GetSqueakProfileByNameRequest;\n return proto.squeaknode.GetSqueakProfileByNameRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.squeaknode.GetSqueakProfileByNameRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.squeaknode.GetSqueakProfileByNameRequest}\n */\nproto.squeaknode.GetSqueakProfileByNameRequest.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setName(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.squeaknode.GetSqueakProfileByNameRequest.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.squeaknode.GetSqueakProfileByNameRequest.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.squeaknode.GetSqueakProfileByNameRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.GetSqueakProfileByNameRequest.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getName();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n};\n\n\n/**\n * optional string name = 1;\n * @return {string}\n */\nproto.squeaknode.GetSqueakProfileByNameRequest.prototype.getName = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/** @param {string} value */\nproto.squeaknode.GetSqueakProfileByNameRequest.prototype.setName = function(value) {\n jspb.Message.setField(this, 1, value);\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.squeaknode.GetSqueakProfileByNameReply = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.squeaknode.GetSqueakProfileByNameReply, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.squeaknode.GetSqueakProfileByNameReply.displayName = 'proto.squeaknode.GetSqueakProfileByNameReply';\n}\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.squeaknode.GetSqueakProfileByNameReply.prototype.toObject = function(opt_includeInstance) {\n return proto.squeaknode.GetSqueakProfileByNameReply.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.squeaknode.GetSqueakProfileByNameReply} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.GetSqueakProfileByNameReply.toObject = function(includeInstance, msg) {\n var f, obj = {\n squeakProfile: (f = msg.getSqueakProfile()) && proto.squeaknode.SqueakProfile.toObject(includeInstance, f)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.squeaknode.GetSqueakProfileByNameReply}\n */\nproto.squeaknode.GetSqueakProfileByNameReply.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.squeaknode.GetSqueakProfileByNameReply;\n return proto.squeaknode.GetSqueakProfileByNameReply.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.squeaknode.GetSqueakProfileByNameReply} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.squeaknode.GetSqueakProfileByNameReply}\n */\nproto.squeaknode.GetSqueakProfileByNameReply.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = new proto.squeaknode.SqueakProfile;\n reader.readMessage(value,proto.squeaknode.SqueakProfile.deserializeBinaryFromReader);\n msg.setSqueakProfile(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.squeaknode.GetSqueakProfileByNameReply.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.squeaknode.GetSqueakProfileByNameReply.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.squeaknode.GetSqueakProfileByNameReply} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.GetSqueakProfileByNameReply.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getSqueakProfile();\n if (f != null) {\n writer.writeMessage(\n 1,\n f,\n proto.squeaknode.SqueakProfile.serializeBinaryToWriter\n );\n }\n};\n\n\n/**\n * optional SqueakProfile squeak_profile = 1;\n * @return {?proto.squeaknode.SqueakProfile}\n */\nproto.squeaknode.GetSqueakProfileByNameReply.prototype.getSqueakProfile = function() {\n return /** @type{?proto.squeaknode.SqueakProfile} */ (\n jspb.Message.getWrapperField(this, proto.squeaknode.SqueakProfile, 1));\n};\n\n\n/** @param {?proto.squeaknode.SqueakProfile|undefined} value */\nproto.squeaknode.GetSqueakProfileByNameReply.prototype.setSqueakProfile = function(value) {\n jspb.Message.setWrapperField(this, 1, value);\n};\n\n\nproto.squeaknode.GetSqueakProfileByNameReply.prototype.clearSqueakProfile = function() {\n this.setSqueakProfile(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {!boolean}\n */\nproto.squeaknode.GetSqueakProfileByNameReply.prototype.hasSqueakProfile = function() {\n return jspb.Message.getField(this, 1) != null;\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.squeaknode.SetSqueakProfileFollowingRequest = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.squeaknode.SetSqueakProfileFollowingRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.squeaknode.SetSqueakProfileFollowingRequest.displayName = 'proto.squeaknode.SetSqueakProfileFollowingRequest';\n}\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.squeaknode.SetSqueakProfileFollowingRequest.prototype.toObject = function(opt_includeInstance) {\n return proto.squeaknode.SetSqueakProfileFollowingRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.squeaknode.SetSqueakProfileFollowingRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.SetSqueakProfileFollowingRequest.toObject = function(includeInstance, msg) {\n var f, obj = {\n profileId: jspb.Message.getFieldWithDefault(msg, 1, 0),\n following: jspb.Message.getFieldWithDefault(msg, 2, false)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.squeaknode.SetSqueakProfileFollowingRequest}\n */\nproto.squeaknode.SetSqueakProfileFollowingRequest.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.squeaknode.SetSqueakProfileFollowingRequest;\n return proto.squeaknode.SetSqueakProfileFollowingRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.squeaknode.SetSqueakProfileFollowingRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.squeaknode.SetSqueakProfileFollowingRequest}\n */\nproto.squeaknode.SetSqueakProfileFollowingRequest.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {number} */ (reader.readInt32());\n msg.setProfileId(value);\n break;\n case 2:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setFollowing(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.squeaknode.SetSqueakProfileFollowingRequest.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.squeaknode.SetSqueakProfileFollowingRequest.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.squeaknode.SetSqueakProfileFollowingRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.SetSqueakProfileFollowingRequest.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getProfileId();\n if (f !== 0) {\n writer.writeInt32(\n 1,\n f\n );\n }\n f = message.getFollowing();\n if (f) {\n writer.writeBool(\n 2,\n f\n );\n }\n};\n\n\n/**\n * optional int32 profile_id = 1;\n * @return {number}\n */\nproto.squeaknode.SetSqueakProfileFollowingRequest.prototype.getProfileId = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/** @param {number} value */\nproto.squeaknode.SetSqueakProfileFollowingRequest.prototype.setProfileId = function(value) {\n jspb.Message.setField(this, 1, value);\n};\n\n\n/**\n * optional bool following = 2;\n * Note that Boolean fields may be set to 0/1 when serialized from a Java server.\n * You should avoid comparisons like {@code val === true/false} in those cases.\n * @return {boolean}\n */\nproto.squeaknode.SetSqueakProfileFollowingRequest.prototype.getFollowing = function() {\n return /** @type {boolean} */ (jspb.Message.getFieldWithDefault(this, 2, false));\n};\n\n\n/** @param {boolean} value */\nproto.squeaknode.SetSqueakProfileFollowingRequest.prototype.setFollowing = function(value) {\n jspb.Message.setField(this, 2, value);\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.squeaknode.SetSqueakProfileFollowingReply = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.squeaknode.SetSqueakProfileFollowingReply, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.squeaknode.SetSqueakProfileFollowingReply.displayName = 'proto.squeaknode.SetSqueakProfileFollowingReply';\n}\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.squeaknode.SetSqueakProfileFollowingReply.prototype.toObject = function(opt_includeInstance) {\n return proto.squeaknode.SetSqueakProfileFollowingReply.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.squeaknode.SetSqueakProfileFollowingReply} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.SetSqueakProfileFollowingReply.toObject = function(includeInstance, msg) {\n var f, obj = {\n\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.squeaknode.SetSqueakProfileFollowingReply}\n */\nproto.squeaknode.SetSqueakProfileFollowingReply.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.squeaknode.SetSqueakProfileFollowingReply;\n return proto.squeaknode.SetSqueakProfileFollowingReply.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.squeaknode.SetSqueakProfileFollowingReply} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.squeaknode.SetSqueakProfileFollowingReply}\n */\nproto.squeaknode.SetSqueakProfileFollowingReply.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.squeaknode.SetSqueakProfileFollowingReply.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.squeaknode.SetSqueakProfileFollowingReply.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.squeaknode.SetSqueakProfileFollowingReply} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.SetSqueakProfileFollowingReply.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.squeaknode.SetSqueakProfileSharingRequest = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.squeaknode.SetSqueakProfileSharingRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.squeaknode.SetSqueakProfileSharingRequest.displayName = 'proto.squeaknode.SetSqueakProfileSharingRequest';\n}\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.squeaknode.SetSqueakProfileSharingRequest.prototype.toObject = function(opt_includeInstance) {\n return proto.squeaknode.SetSqueakProfileSharingRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.squeaknode.SetSqueakProfileSharingRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.SetSqueakProfileSharingRequest.toObject = function(includeInstance, msg) {\n var f, obj = {\n profileId: jspb.Message.getFieldWithDefault(msg, 1, 0),\n sharing: jspb.Message.getFieldWithDefault(msg, 2, false)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.squeaknode.SetSqueakProfileSharingRequest}\n */\nproto.squeaknode.SetSqueakProfileSharingRequest.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.squeaknode.SetSqueakProfileSharingRequest;\n return proto.squeaknode.SetSqueakProfileSharingRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.squeaknode.SetSqueakProfileSharingRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.squeaknode.SetSqueakProfileSharingRequest}\n */\nproto.squeaknode.SetSqueakProfileSharingRequest.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {number} */ (reader.readInt32());\n msg.setProfileId(value);\n break;\n case 2:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setSharing(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.squeaknode.SetSqueakProfileSharingRequest.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.squeaknode.SetSqueakProfileSharingRequest.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.squeaknode.SetSqueakProfileSharingRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.SetSqueakProfileSharingRequest.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getProfileId();\n if (f !== 0) {\n writer.writeInt32(\n 1,\n f\n );\n }\n f = message.getSharing();\n if (f) {\n writer.writeBool(\n 2,\n f\n );\n }\n};\n\n\n/**\n * optional int32 profile_id = 1;\n * @return {number}\n */\nproto.squeaknode.SetSqueakProfileSharingRequest.prototype.getProfileId = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/** @param {number} value */\nproto.squeaknode.SetSqueakProfileSharingRequest.prototype.setProfileId = function(value) {\n jspb.Message.setField(this, 1, value);\n};\n\n\n/**\n * optional bool sharing = 2;\n * Note that Boolean fields may be set to 0/1 when serialized from a Java server.\n * You should avoid comparisons like {@code val === true/false} in those cases.\n * @return {boolean}\n */\nproto.squeaknode.SetSqueakProfileSharingRequest.prototype.getSharing = function() {\n return /** @type {boolean} */ (jspb.Message.getFieldWithDefault(this, 2, false));\n};\n\n\n/** @param {boolean} value */\nproto.squeaknode.SetSqueakProfileSharingRequest.prototype.setSharing = function(value) {\n jspb.Message.setField(this, 2, value);\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.squeaknode.SetSqueakProfileSharingReply = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.squeaknode.SetSqueakProfileSharingReply, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.squeaknode.SetSqueakProfileSharingReply.displayName = 'proto.squeaknode.SetSqueakProfileSharingReply';\n}\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.squeaknode.SetSqueakProfileSharingReply.prototype.toObject = function(opt_includeInstance) {\n return proto.squeaknode.SetSqueakProfileSharingReply.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.squeaknode.SetSqueakProfileSharingReply} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.SetSqueakProfileSharingReply.toObject = function(includeInstance, msg) {\n var f, obj = {\n\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.squeaknode.SetSqueakProfileSharingReply}\n */\nproto.squeaknode.SetSqueakProfileSharingReply.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.squeaknode.SetSqueakProfileSharingReply;\n return proto.squeaknode.SetSqueakProfileSharingReply.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.squeaknode.SetSqueakProfileSharingReply} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.squeaknode.SetSqueakProfileSharingReply}\n */\nproto.squeaknode.SetSqueakProfileSharingReply.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.squeaknode.SetSqueakProfileSharingReply.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.squeaknode.SetSqueakProfileSharingReply.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.squeaknode.SetSqueakProfileSharingReply} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.SetSqueakProfileSharingReply.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.squeaknode.DeleteSqueakProfileRequest = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.squeaknode.DeleteSqueakProfileRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.squeaknode.DeleteSqueakProfileRequest.displayName = 'proto.squeaknode.DeleteSqueakProfileRequest';\n}\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.squeaknode.DeleteSqueakProfileRequest.prototype.toObject = function(opt_includeInstance) {\n return proto.squeaknode.DeleteSqueakProfileRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.squeaknode.DeleteSqueakProfileRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.DeleteSqueakProfileRequest.toObject = function(includeInstance, msg) {\n var f, obj = {\n profileId: jspb.Message.getFieldWithDefault(msg, 1, 0)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.squeaknode.DeleteSqueakProfileRequest}\n */\nproto.squeaknode.DeleteSqueakProfileRequest.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.squeaknode.DeleteSqueakProfileRequest;\n return proto.squeaknode.DeleteSqueakProfileRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.squeaknode.DeleteSqueakProfileRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.squeaknode.DeleteSqueakProfileRequest}\n */\nproto.squeaknode.DeleteSqueakProfileRequest.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {number} */ (reader.readInt32());\n msg.setProfileId(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.squeaknode.DeleteSqueakProfileRequest.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.squeaknode.DeleteSqueakProfileRequest.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.squeaknode.DeleteSqueakProfileRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.DeleteSqueakProfileRequest.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getProfileId();\n if (f !== 0) {\n writer.writeInt32(\n 1,\n f\n );\n }\n};\n\n\n/**\n * optional int32 profile_id = 1;\n * @return {number}\n */\nproto.squeaknode.DeleteSqueakProfileRequest.prototype.getProfileId = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/** @param {number} value */\nproto.squeaknode.DeleteSqueakProfileRequest.prototype.setProfileId = function(value) {\n jspb.Message.setField(this, 1, value);\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.squeaknode.DeleteSqueakProfileReply = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.squeaknode.DeleteSqueakProfileReply, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.squeaknode.DeleteSqueakProfileReply.displayName = 'proto.squeaknode.DeleteSqueakProfileReply';\n}\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.squeaknode.DeleteSqueakProfileReply.prototype.toObject = function(opt_includeInstance) {\n return proto.squeaknode.DeleteSqueakProfileReply.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.squeaknode.DeleteSqueakProfileReply} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.DeleteSqueakProfileReply.toObject = function(includeInstance, msg) {\n var f, obj = {\n\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.squeaknode.DeleteSqueakProfileReply}\n */\nproto.squeaknode.DeleteSqueakProfileReply.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.squeaknode.DeleteSqueakProfileReply;\n return proto.squeaknode.DeleteSqueakProfileReply.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.squeaknode.DeleteSqueakProfileReply} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.squeaknode.DeleteSqueakProfileReply}\n */\nproto.squeaknode.DeleteSqueakProfileReply.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.squeaknode.DeleteSqueakProfileReply.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.squeaknode.DeleteSqueakProfileReply.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.squeaknode.DeleteSqueakProfileReply} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.DeleteSqueakProfileReply.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.squeaknode.SqueakProfile = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.squeaknode.SqueakProfile, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.squeaknode.SqueakProfile.displayName = 'proto.squeaknode.SqueakProfile';\n}\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.squeaknode.SqueakProfile.prototype.toObject = function(opt_includeInstance) {\n return proto.squeaknode.SqueakProfile.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.squeaknode.SqueakProfile} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.SqueakProfile.toObject = function(includeInstance, msg) {\n var f, obj = {\n profileId: jspb.Message.getFieldWithDefault(msg, 1, 0),\n profileName: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n hasPrivateKey: jspb.Message.getFieldWithDefault(msg, 3, false),\n address: jspb.Message.getFieldWithDefault(msg, 4, \"\"),\n sharing: jspb.Message.getFieldWithDefault(msg, 5, false),\n following: jspb.Message.getFieldWithDefault(msg, 6, false)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.squeaknode.SqueakProfile}\n */\nproto.squeaknode.SqueakProfile.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.squeaknode.SqueakProfile;\n return proto.squeaknode.SqueakProfile.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.squeaknode.SqueakProfile} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.squeaknode.SqueakProfile}\n */\nproto.squeaknode.SqueakProfile.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {number} */ (reader.readInt32());\n msg.setProfileId(value);\n break;\n case 2:\n var value = /** @type {string} */ (reader.readString());\n msg.setProfileName(value);\n break;\n case 3:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setHasPrivateKey(value);\n break;\n case 4:\n var value = /** @type {string} */ (reader.readString());\n msg.setAddress(value);\n break;\n case 5:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setSharing(value);\n break;\n case 6:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setFollowing(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.squeaknode.SqueakProfile.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.squeaknode.SqueakProfile.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.squeaknode.SqueakProfile} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.SqueakProfile.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getProfileId();\n if (f !== 0) {\n writer.writeInt32(\n 1,\n f\n );\n }\n f = message.getProfileName();\n if (f.length > 0) {\n writer.writeString(\n 2,\n f\n );\n }\n f = message.getHasPrivateKey();\n if (f) {\n writer.writeBool(\n 3,\n f\n );\n }\n f = message.getAddress();\n if (f.length > 0) {\n writer.writeString(\n 4,\n f\n );\n }\n f = message.getSharing();\n if (f) {\n writer.writeBool(\n 5,\n f\n );\n }\n f = message.getFollowing();\n if (f) {\n writer.writeBool(\n 6,\n f\n );\n }\n};\n\n\n/**\n * optional int32 profile_id = 1;\n * @return {number}\n */\nproto.squeaknode.SqueakProfile.prototype.getProfileId = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/** @param {number} value */\nproto.squeaknode.SqueakProfile.prototype.setProfileId = function(value) {\n jspb.Message.setField(this, 1, value);\n};\n\n\n/**\n * optional string profile_name = 2;\n * @return {string}\n */\nproto.squeaknode.SqueakProfile.prototype.getProfileName = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/** @param {string} value */\nproto.squeaknode.SqueakProfile.prototype.setProfileName = function(value) {\n jspb.Message.setField(this, 2, value);\n};\n\n\n/**\n * optional bool has_private_key = 3;\n * Note that Boolean fields may be set to 0/1 when serialized from a Java server.\n * You should avoid comparisons like {@code val === true/false} in those cases.\n * @return {boolean}\n */\nproto.squeaknode.SqueakProfile.prototype.getHasPrivateKey = function() {\n return /** @type {boolean} */ (jspb.Message.getFieldWithDefault(this, 3, false));\n};\n\n\n/** @param {boolean} value */\nproto.squeaknode.SqueakProfile.prototype.setHasPrivateKey = function(value) {\n jspb.Message.setField(this, 3, value);\n};\n\n\n/**\n * optional string address = 4;\n * @return {string}\n */\nproto.squeaknode.SqueakProfile.prototype.getAddress = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"\"));\n};\n\n\n/** @param {string} value */\nproto.squeaknode.SqueakProfile.prototype.setAddress = function(value) {\n jspb.Message.setField(this, 4, value);\n};\n\n\n/**\n * optional bool sharing = 5;\n * Note that Boolean fields may be set to 0/1 when serialized from a Java server.\n * You should avoid comparisons like {@code val === true/false} in those cases.\n * @return {boolean}\n */\nproto.squeaknode.SqueakProfile.prototype.getSharing = function() {\n return /** @type {boolean} */ (jspb.Message.getFieldWithDefault(this, 5, false));\n};\n\n\n/** @param {boolean} value */\nproto.squeaknode.SqueakProfile.prototype.setSharing = function(value) {\n jspb.Message.setField(this, 5, value);\n};\n\n\n/**\n * optional bool following = 6;\n * Note that Boolean fields may be set to 0/1 when serialized from a Java server.\n * You should avoid comparisons like {@code val === true/false} in those cases.\n * @return {boolean}\n */\nproto.squeaknode.SqueakProfile.prototype.getFollowing = function() {\n return /** @type {boolean} */ (jspb.Message.getFieldWithDefault(this, 6, false));\n};\n\n\n/** @param {boolean} value */\nproto.squeaknode.SqueakProfile.prototype.setFollowing = function(value) {\n jspb.Message.setField(this, 6, value);\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.squeaknode.MakeSqueakRequest = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.squeaknode.MakeSqueakRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.squeaknode.MakeSqueakRequest.displayName = 'proto.squeaknode.MakeSqueakRequest';\n}\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.squeaknode.MakeSqueakRequest.prototype.toObject = function(opt_includeInstance) {\n return proto.squeaknode.MakeSqueakRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.squeaknode.MakeSqueakRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.MakeSqueakRequest.toObject = function(includeInstance, msg) {\n var f, obj = {\n profileId: jspb.Message.getFieldWithDefault(msg, 1, 0),\n content: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n replyto: jspb.Message.getFieldWithDefault(msg, 3, \"\")\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.squeaknode.MakeSqueakRequest}\n */\nproto.squeaknode.MakeSqueakRequest.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.squeaknode.MakeSqueakRequest;\n return proto.squeaknode.MakeSqueakRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.squeaknode.MakeSqueakRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.squeaknode.MakeSqueakRequest}\n */\nproto.squeaknode.MakeSqueakRequest.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {number} */ (reader.readInt32());\n msg.setProfileId(value);\n break;\n case 2:\n var value = /** @type {string} */ (reader.readString());\n msg.setContent(value);\n break;\n case 3:\n var value = /** @type {string} */ (reader.readString());\n msg.setReplyto(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.squeaknode.MakeSqueakRequest.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.squeaknode.MakeSqueakRequest.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.squeaknode.MakeSqueakRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.MakeSqueakRequest.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getProfileId();\n if (f !== 0) {\n writer.writeInt32(\n 1,\n f\n );\n }\n f = message.getContent();\n if (f.length > 0) {\n writer.writeString(\n 2,\n f\n );\n }\n f = message.getReplyto();\n if (f.length > 0) {\n writer.writeString(\n 3,\n f\n );\n }\n};\n\n\n/**\n * optional int32 profile_id = 1;\n * @return {number}\n */\nproto.squeaknode.MakeSqueakRequest.prototype.getProfileId = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/** @param {number} value */\nproto.squeaknode.MakeSqueakRequest.prototype.setProfileId = function(value) {\n jspb.Message.setField(this, 1, value);\n};\n\n\n/**\n * optional string content = 2;\n * @return {string}\n */\nproto.squeaknode.MakeSqueakRequest.prototype.getContent = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/** @param {string} value */\nproto.squeaknode.MakeSqueakRequest.prototype.setContent = function(value) {\n jspb.Message.setField(this, 2, value);\n};\n\n\n/**\n * optional string replyto = 3;\n * @return {string}\n */\nproto.squeaknode.MakeSqueakRequest.prototype.getReplyto = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/** @param {string} value */\nproto.squeaknode.MakeSqueakRequest.prototype.setReplyto = function(value) {\n jspb.Message.setField(this, 3, value);\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.squeaknode.MakeSqueakReply = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.squeaknode.MakeSqueakReply, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.squeaknode.MakeSqueakReply.displayName = 'proto.squeaknode.MakeSqueakReply';\n}\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.squeaknode.MakeSqueakReply.prototype.toObject = function(opt_includeInstance) {\n return proto.squeaknode.MakeSqueakReply.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.squeaknode.MakeSqueakReply} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.MakeSqueakReply.toObject = function(includeInstance, msg) {\n var f, obj = {\n squeakHash: jspb.Message.getFieldWithDefault(msg, 1, \"\")\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.squeaknode.MakeSqueakReply}\n */\nproto.squeaknode.MakeSqueakReply.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.squeaknode.MakeSqueakReply;\n return proto.squeaknode.MakeSqueakReply.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.squeaknode.MakeSqueakReply} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.squeaknode.MakeSqueakReply}\n */\nproto.squeaknode.MakeSqueakReply.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setSqueakHash(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.squeaknode.MakeSqueakReply.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.squeaknode.MakeSqueakReply.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.squeaknode.MakeSqueakReply} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.MakeSqueakReply.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getSqueakHash();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n};\n\n\n/**\n * optional string squeak_hash = 1;\n * @return {string}\n */\nproto.squeaknode.MakeSqueakReply.prototype.getSqueakHash = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/** @param {string} value */\nproto.squeaknode.MakeSqueakReply.prototype.setSqueakHash = function(value) {\n jspb.Message.setField(this, 1, value);\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.squeaknode.GetSqueakDisplayRequest = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.squeaknode.GetSqueakDisplayRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.squeaknode.GetSqueakDisplayRequest.displayName = 'proto.squeaknode.GetSqueakDisplayRequest';\n}\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.squeaknode.GetSqueakDisplayRequest.prototype.toObject = function(opt_includeInstance) {\n return proto.squeaknode.GetSqueakDisplayRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.squeaknode.GetSqueakDisplayRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.GetSqueakDisplayRequest.toObject = function(includeInstance, msg) {\n var f, obj = {\n squeakHash: jspb.Message.getFieldWithDefault(msg, 1, \"\")\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.squeaknode.GetSqueakDisplayRequest}\n */\nproto.squeaknode.GetSqueakDisplayRequest.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.squeaknode.GetSqueakDisplayRequest;\n return proto.squeaknode.GetSqueakDisplayRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.squeaknode.GetSqueakDisplayRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.squeaknode.GetSqueakDisplayRequest}\n */\nproto.squeaknode.GetSqueakDisplayRequest.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setSqueakHash(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.squeaknode.GetSqueakDisplayRequest.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.squeaknode.GetSqueakDisplayRequest.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.squeaknode.GetSqueakDisplayRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.GetSqueakDisplayRequest.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getSqueakHash();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n};\n\n\n/**\n * optional string squeak_hash = 1;\n * @return {string}\n */\nproto.squeaknode.GetSqueakDisplayRequest.prototype.getSqueakHash = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/** @param {string} value */\nproto.squeaknode.GetSqueakDisplayRequest.prototype.setSqueakHash = function(value) {\n jspb.Message.setField(this, 1, value);\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.squeaknode.GetSqueakDisplayReply = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.squeaknode.GetSqueakDisplayReply, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.squeaknode.GetSqueakDisplayReply.displayName = 'proto.squeaknode.GetSqueakDisplayReply';\n}\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.squeaknode.GetSqueakDisplayReply.prototype.toObject = function(opt_includeInstance) {\n return proto.squeaknode.GetSqueakDisplayReply.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.squeaknode.GetSqueakDisplayReply} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.GetSqueakDisplayReply.toObject = function(includeInstance, msg) {\n var f, obj = {\n squeakDisplayEntry: (f = msg.getSqueakDisplayEntry()) && proto.squeaknode.SqueakDisplayEntry.toObject(includeInstance, f)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.squeaknode.GetSqueakDisplayReply}\n */\nproto.squeaknode.GetSqueakDisplayReply.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.squeaknode.GetSqueakDisplayReply;\n return proto.squeaknode.GetSqueakDisplayReply.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.squeaknode.GetSqueakDisplayReply} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.squeaknode.GetSqueakDisplayReply}\n */\nproto.squeaknode.GetSqueakDisplayReply.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = new proto.squeaknode.SqueakDisplayEntry;\n reader.readMessage(value,proto.squeaknode.SqueakDisplayEntry.deserializeBinaryFromReader);\n msg.setSqueakDisplayEntry(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.squeaknode.GetSqueakDisplayReply.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.squeaknode.GetSqueakDisplayReply.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.squeaknode.GetSqueakDisplayReply} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.GetSqueakDisplayReply.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getSqueakDisplayEntry();\n if (f != null) {\n writer.writeMessage(\n 1,\n f,\n proto.squeaknode.SqueakDisplayEntry.serializeBinaryToWriter\n );\n }\n};\n\n\n/**\n * optional SqueakDisplayEntry squeak_display_entry = 1;\n * @return {?proto.squeaknode.SqueakDisplayEntry}\n */\nproto.squeaknode.GetSqueakDisplayReply.prototype.getSqueakDisplayEntry = function() {\n return /** @type{?proto.squeaknode.SqueakDisplayEntry} */ (\n jspb.Message.getWrapperField(this, proto.squeaknode.SqueakDisplayEntry, 1));\n};\n\n\n/** @param {?proto.squeaknode.SqueakDisplayEntry|undefined} value */\nproto.squeaknode.GetSqueakDisplayReply.prototype.setSqueakDisplayEntry = function(value) {\n jspb.Message.setWrapperField(this, 1, value);\n};\n\n\nproto.squeaknode.GetSqueakDisplayReply.prototype.clearSqueakDisplayEntry = function() {\n this.setSqueakDisplayEntry(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {!boolean}\n */\nproto.squeaknode.GetSqueakDisplayReply.prototype.hasSqueakDisplayEntry = function() {\n return jspb.Message.getField(this, 1) != null;\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.squeaknode.SqueakDisplayEntry = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.squeaknode.SqueakDisplayEntry, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.squeaknode.SqueakDisplayEntry.displayName = 'proto.squeaknode.SqueakDisplayEntry';\n}\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.squeaknode.SqueakDisplayEntry.prototype.toObject = function(opt_includeInstance) {\n return proto.squeaknode.SqueakDisplayEntry.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.squeaknode.SqueakDisplayEntry} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.SqueakDisplayEntry.toObject = function(includeInstance, msg) {\n var f, obj = {\n squeakHash: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n isUnlocked: jspb.Message.getFieldWithDefault(msg, 2, false),\n contentStr: jspb.Message.getFieldWithDefault(msg, 3, \"\"),\n isReply: jspb.Message.getFieldWithDefault(msg, 4, false),\n replyTo: jspb.Message.getFieldWithDefault(msg, 5, \"\"),\n blockHeight: jspb.Message.getFieldWithDefault(msg, 6, 0),\n blockHash: jspb.Message.getFieldWithDefault(msg, 7, \"\"),\n blockTime: jspb.Message.getFieldWithDefault(msg, 8, 0),\n isAuthorKnown: jspb.Message.getFieldWithDefault(msg, 9, false),\n authorAddress: jspb.Message.getFieldWithDefault(msg, 10, \"\"),\n authorName: jspb.Message.getFieldWithDefault(msg, 11, \"\")\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.squeaknode.SqueakDisplayEntry}\n */\nproto.squeaknode.SqueakDisplayEntry.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.squeaknode.SqueakDisplayEntry;\n return proto.squeaknode.SqueakDisplayEntry.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.squeaknode.SqueakDisplayEntry} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.squeaknode.SqueakDisplayEntry}\n */\nproto.squeaknode.SqueakDisplayEntry.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setSqueakHash(value);\n break;\n case 2:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setIsUnlocked(value);\n break;\n case 3:\n var value = /** @type {string} */ (reader.readString());\n msg.setContentStr(value);\n break;\n case 4:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setIsReply(value);\n break;\n case 5:\n var value = /** @type {string} */ (reader.readString());\n msg.setReplyTo(value);\n break;\n case 6:\n var value = /** @type {number} */ (reader.readInt32());\n msg.setBlockHeight(value);\n break;\n case 7:\n var value = /** @type {string} */ (reader.readString());\n msg.setBlockHash(value);\n break;\n case 8:\n var value = /** @type {number} */ (reader.readInt64());\n msg.setBlockTime(value);\n break;\n case 9:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setIsAuthorKnown(value);\n break;\n case 10:\n var value = /** @type {string} */ (reader.readString());\n msg.setAuthorAddress(value);\n break;\n case 11:\n var value = /** @type {string} */ (reader.readString());\n msg.setAuthorName(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.squeaknode.SqueakDisplayEntry.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.squeaknode.SqueakDisplayEntry.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.squeaknode.SqueakDisplayEntry} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.SqueakDisplayEntry.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getSqueakHash();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n f = message.getIsUnlocked();\n if (f) {\n writer.writeBool(\n 2,\n f\n );\n }\n f = message.getContentStr();\n if (f.length > 0) {\n writer.writeString(\n 3,\n f\n );\n }\n f = message.getIsReply();\n if (f) {\n writer.writeBool(\n 4,\n f\n );\n }\n f = message.getReplyTo();\n if (f.length > 0) {\n writer.writeString(\n 5,\n f\n );\n }\n f = message.getBlockHeight();\n if (f !== 0) {\n writer.writeInt32(\n 6,\n f\n );\n }\n f = message.getBlockHash();\n if (f.length > 0) {\n writer.writeString(\n 7,\n f\n );\n }\n f = message.getBlockTime();\n if (f !== 0) {\n writer.writeInt64(\n 8,\n f\n );\n }\n f = message.getIsAuthorKnown();\n if (f) {\n writer.writeBool(\n 9,\n f\n );\n }\n f = message.getAuthorAddress();\n if (f.length > 0) {\n writer.writeString(\n 10,\n f\n );\n }\n f = message.getAuthorName();\n if (f.length > 0) {\n writer.writeString(\n 11,\n f\n );\n }\n};\n\n\n/**\n * optional string squeak_hash = 1;\n * @return {string}\n */\nproto.squeaknode.SqueakDisplayEntry.prototype.getSqueakHash = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/** @param {string} value */\nproto.squeaknode.SqueakDisplayEntry.prototype.setSqueakHash = function(value) {\n jspb.Message.setField(this, 1, value);\n};\n\n\n/**\n * optional bool is_unlocked = 2;\n * Note that Boolean fields may be set to 0/1 when serialized from a Java server.\n * You should avoid comparisons like {@code val === true/false} in those cases.\n * @return {boolean}\n */\nproto.squeaknode.SqueakDisplayEntry.prototype.getIsUnlocked = function() {\n return /** @type {boolean} */ (jspb.Message.getFieldWithDefault(this, 2, false));\n};\n\n\n/** @param {boolean} value */\nproto.squeaknode.SqueakDisplayEntry.prototype.setIsUnlocked = function(value) {\n jspb.Message.setField(this, 2, value);\n};\n\n\n/**\n * optional string content_str = 3;\n * @return {string}\n */\nproto.squeaknode.SqueakDisplayEntry.prototype.getContentStr = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/** @param {string} value */\nproto.squeaknode.SqueakDisplayEntry.prototype.setContentStr = function(value) {\n jspb.Message.setField(this, 3, value);\n};\n\n\n/**\n * optional bool is_reply = 4;\n * Note that Boolean fields may be set to 0/1 when serialized from a Java server.\n * You should avoid comparisons like {@code val === true/false} in those cases.\n * @return {boolean}\n */\nproto.squeaknode.SqueakDisplayEntry.prototype.getIsReply = function() {\n return /** @type {boolean} */ (jspb.Message.getFieldWithDefault(this, 4, false));\n};\n\n\n/** @param {boolean} value */\nproto.squeaknode.SqueakDisplayEntry.prototype.setIsReply = function(value) {\n jspb.Message.setField(this, 4, value);\n};\n\n\n/**\n * optional string reply_to = 5;\n * @return {string}\n */\nproto.squeaknode.SqueakDisplayEntry.prototype.getReplyTo = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, \"\"));\n};\n\n\n/** @param {string} value */\nproto.squeaknode.SqueakDisplayEntry.prototype.setReplyTo = function(value) {\n jspb.Message.setField(this, 5, value);\n};\n\n\n/**\n * optional int32 block_height = 6;\n * @return {number}\n */\nproto.squeaknode.SqueakDisplayEntry.prototype.getBlockHeight = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 6, 0));\n};\n\n\n/** @param {number} value */\nproto.squeaknode.SqueakDisplayEntry.prototype.setBlockHeight = function(value) {\n jspb.Message.setField(this, 6, value);\n};\n\n\n/**\n * optional string block_hash = 7;\n * @return {string}\n */\nproto.squeaknode.SqueakDisplayEntry.prototype.getBlockHash = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 7, \"\"));\n};\n\n\n/** @param {string} value */\nproto.squeaknode.SqueakDisplayEntry.prototype.setBlockHash = function(value) {\n jspb.Message.setField(this, 7, value);\n};\n\n\n/**\n * optional int64 block_time = 8;\n * @return {number}\n */\nproto.squeaknode.SqueakDisplayEntry.prototype.getBlockTime = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 8, 0));\n};\n\n\n/** @param {number} value */\nproto.squeaknode.SqueakDisplayEntry.prototype.setBlockTime = function(value) {\n jspb.Message.setField(this, 8, value);\n};\n\n\n/**\n * optional bool is_author_known = 9;\n * Note that Boolean fields may be set to 0/1 when serialized from a Java server.\n * You should avoid comparisons like {@code val === true/false} in those cases.\n * @return {boolean}\n */\nproto.squeaknode.SqueakDisplayEntry.prototype.getIsAuthorKnown = function() {\n return /** @type {boolean} */ (jspb.Message.getFieldWithDefault(this, 9, false));\n};\n\n\n/** @param {boolean} value */\nproto.squeaknode.SqueakDisplayEntry.prototype.setIsAuthorKnown = function(value) {\n jspb.Message.setField(this, 9, value);\n};\n\n\n/**\n * optional string author_address = 10;\n * @return {string}\n */\nproto.squeaknode.SqueakDisplayEntry.prototype.getAuthorAddress = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 10, \"\"));\n};\n\n\n/** @param {string} value */\nproto.squeaknode.SqueakDisplayEntry.prototype.setAuthorAddress = function(value) {\n jspb.Message.setField(this, 10, value);\n};\n\n\n/**\n * optional string author_name = 11;\n * @return {string}\n */\nproto.squeaknode.SqueakDisplayEntry.prototype.getAuthorName = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 11, \"\"));\n};\n\n\n/** @param {string} value */\nproto.squeaknode.SqueakDisplayEntry.prototype.setAuthorName = function(value) {\n jspb.Message.setField(this, 11, value);\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.squeaknode.GetTimelineSqueakDisplaysRequest = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.squeaknode.GetTimelineSqueakDisplaysRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.squeaknode.GetTimelineSqueakDisplaysRequest.displayName = 'proto.squeaknode.GetTimelineSqueakDisplaysRequest';\n}\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.squeaknode.GetTimelineSqueakDisplaysRequest.prototype.toObject = function(opt_includeInstance) {\n return proto.squeaknode.GetTimelineSqueakDisplaysRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.squeaknode.GetTimelineSqueakDisplaysRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.GetTimelineSqueakDisplaysRequest.toObject = function(includeInstance, msg) {\n var f, obj = {\n\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.squeaknode.GetTimelineSqueakDisplaysRequest}\n */\nproto.squeaknode.GetTimelineSqueakDisplaysRequest.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.squeaknode.GetTimelineSqueakDisplaysRequest;\n return proto.squeaknode.GetTimelineSqueakDisplaysRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.squeaknode.GetTimelineSqueakDisplaysRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.squeaknode.GetTimelineSqueakDisplaysRequest}\n */\nproto.squeaknode.GetTimelineSqueakDisplaysRequest.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.squeaknode.GetTimelineSqueakDisplaysRequest.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.squeaknode.GetTimelineSqueakDisplaysRequest.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.squeaknode.GetTimelineSqueakDisplaysRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.GetTimelineSqueakDisplaysRequest.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.squeaknode.GetTimelineSqueakDisplaysReply = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, proto.squeaknode.GetTimelineSqueakDisplaysReply.repeatedFields_, null);\n};\ngoog.inherits(proto.squeaknode.GetTimelineSqueakDisplaysReply, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.squeaknode.GetTimelineSqueakDisplaysReply.displayName = 'proto.squeaknode.GetTimelineSqueakDisplaysReply';\n}\n/**\n * List of repeated fields within this message type.\n * @private {!Array}\n * @const\n */\nproto.squeaknode.GetTimelineSqueakDisplaysReply.repeatedFields_ = [1];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.squeaknode.GetTimelineSqueakDisplaysReply.prototype.toObject = function(opt_includeInstance) {\n return proto.squeaknode.GetTimelineSqueakDisplaysReply.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.squeaknode.GetTimelineSqueakDisplaysReply} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.GetTimelineSqueakDisplaysReply.toObject = function(includeInstance, msg) {\n var f, obj = {\n squeakDisplayEntriesList: jspb.Message.toObjectList(msg.getSqueakDisplayEntriesList(),\n proto.squeaknode.SqueakDisplayEntry.toObject, includeInstance)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.squeaknode.GetTimelineSqueakDisplaysReply}\n */\nproto.squeaknode.GetTimelineSqueakDisplaysReply.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.squeaknode.GetTimelineSqueakDisplaysReply;\n return proto.squeaknode.GetTimelineSqueakDisplaysReply.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.squeaknode.GetTimelineSqueakDisplaysReply} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.squeaknode.GetTimelineSqueakDisplaysReply}\n */\nproto.squeaknode.GetTimelineSqueakDisplaysReply.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = new proto.squeaknode.SqueakDisplayEntry;\n reader.readMessage(value,proto.squeaknode.SqueakDisplayEntry.deserializeBinaryFromReader);\n msg.addSqueakDisplayEntries(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.squeaknode.GetTimelineSqueakDisplaysReply.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.squeaknode.GetTimelineSqueakDisplaysReply.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.squeaknode.GetTimelineSqueakDisplaysReply} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.GetTimelineSqueakDisplaysReply.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getSqueakDisplayEntriesList();\n if (f.length > 0) {\n writer.writeRepeatedMessage(\n 1,\n f,\n proto.squeaknode.SqueakDisplayEntry.serializeBinaryToWriter\n );\n }\n};\n\n\n/**\n * repeated SqueakDisplayEntry squeak_display_entries = 1;\n * @return {!Array.}\n */\nproto.squeaknode.GetTimelineSqueakDisplaysReply.prototype.getSqueakDisplayEntriesList = function() {\n return /** @type{!Array.} */ (\n jspb.Message.getRepeatedWrapperField(this, proto.squeaknode.SqueakDisplayEntry, 1));\n};\n\n\n/** @param {!Array.} value */\nproto.squeaknode.GetTimelineSqueakDisplaysReply.prototype.setSqueakDisplayEntriesList = function(value) {\n jspb.Message.setRepeatedWrapperField(this, 1, value);\n};\n\n\n/**\n * @param {!proto.squeaknode.SqueakDisplayEntry=} opt_value\n * @param {number=} opt_index\n * @return {!proto.squeaknode.SqueakDisplayEntry}\n */\nproto.squeaknode.GetTimelineSqueakDisplaysReply.prototype.addSqueakDisplayEntries = function(opt_value, opt_index) {\n return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.squeaknode.SqueakDisplayEntry, opt_index);\n};\n\n\nproto.squeaknode.GetTimelineSqueakDisplaysReply.prototype.clearSqueakDisplayEntriesList = function() {\n this.setSqueakDisplayEntriesList([]);\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.squeaknode.GetAddressSqueakDisplaysRequest = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.squeaknode.GetAddressSqueakDisplaysRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.squeaknode.GetAddressSqueakDisplaysRequest.displayName = 'proto.squeaknode.GetAddressSqueakDisplaysRequest';\n}\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.squeaknode.GetAddressSqueakDisplaysRequest.prototype.toObject = function(opt_includeInstance) {\n return proto.squeaknode.GetAddressSqueakDisplaysRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.squeaknode.GetAddressSqueakDisplaysRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.GetAddressSqueakDisplaysRequest.toObject = function(includeInstance, msg) {\n var f, obj = {\n address: jspb.Message.getFieldWithDefault(msg, 1, \"\")\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.squeaknode.GetAddressSqueakDisplaysRequest}\n */\nproto.squeaknode.GetAddressSqueakDisplaysRequest.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.squeaknode.GetAddressSqueakDisplaysRequest;\n return proto.squeaknode.GetAddressSqueakDisplaysRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.squeaknode.GetAddressSqueakDisplaysRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.squeaknode.GetAddressSqueakDisplaysRequest}\n */\nproto.squeaknode.GetAddressSqueakDisplaysRequest.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setAddress(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.squeaknode.GetAddressSqueakDisplaysRequest.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.squeaknode.GetAddressSqueakDisplaysRequest.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.squeaknode.GetAddressSqueakDisplaysRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.GetAddressSqueakDisplaysRequest.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getAddress();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n};\n\n\n/**\n * optional string address = 1;\n * @return {string}\n */\nproto.squeaknode.GetAddressSqueakDisplaysRequest.prototype.getAddress = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/** @param {string} value */\nproto.squeaknode.GetAddressSqueakDisplaysRequest.prototype.setAddress = function(value) {\n jspb.Message.setField(this, 1, value);\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.squeaknode.GetAddressSqueakDisplaysReply = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, proto.squeaknode.GetAddressSqueakDisplaysReply.repeatedFields_, null);\n};\ngoog.inherits(proto.squeaknode.GetAddressSqueakDisplaysReply, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.squeaknode.GetAddressSqueakDisplaysReply.displayName = 'proto.squeaknode.GetAddressSqueakDisplaysReply';\n}\n/**\n * List of repeated fields within this message type.\n * @private {!Array}\n * @const\n */\nproto.squeaknode.GetAddressSqueakDisplaysReply.repeatedFields_ = [1];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.squeaknode.GetAddressSqueakDisplaysReply.prototype.toObject = function(opt_includeInstance) {\n return proto.squeaknode.GetAddressSqueakDisplaysReply.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.squeaknode.GetAddressSqueakDisplaysReply} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.GetAddressSqueakDisplaysReply.toObject = function(includeInstance, msg) {\n var f, obj = {\n squeakDisplayEntriesList: jspb.Message.toObjectList(msg.getSqueakDisplayEntriesList(),\n proto.squeaknode.SqueakDisplayEntry.toObject, includeInstance)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.squeaknode.GetAddressSqueakDisplaysReply}\n */\nproto.squeaknode.GetAddressSqueakDisplaysReply.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.squeaknode.GetAddressSqueakDisplaysReply;\n return proto.squeaknode.GetAddressSqueakDisplaysReply.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.squeaknode.GetAddressSqueakDisplaysReply} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.squeaknode.GetAddressSqueakDisplaysReply}\n */\nproto.squeaknode.GetAddressSqueakDisplaysReply.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = new proto.squeaknode.SqueakDisplayEntry;\n reader.readMessage(value,proto.squeaknode.SqueakDisplayEntry.deserializeBinaryFromReader);\n msg.addSqueakDisplayEntries(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.squeaknode.GetAddressSqueakDisplaysReply.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.squeaknode.GetAddressSqueakDisplaysReply.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.squeaknode.GetAddressSqueakDisplaysReply} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.GetAddressSqueakDisplaysReply.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getSqueakDisplayEntriesList();\n if (f.length > 0) {\n writer.writeRepeatedMessage(\n 1,\n f,\n proto.squeaknode.SqueakDisplayEntry.serializeBinaryToWriter\n );\n }\n};\n\n\n/**\n * repeated SqueakDisplayEntry squeak_display_entries = 1;\n * @return {!Array.}\n */\nproto.squeaknode.GetAddressSqueakDisplaysReply.prototype.getSqueakDisplayEntriesList = function() {\n return /** @type{!Array.} */ (\n jspb.Message.getRepeatedWrapperField(this, proto.squeaknode.SqueakDisplayEntry, 1));\n};\n\n\n/** @param {!Array.} value */\nproto.squeaknode.GetAddressSqueakDisplaysReply.prototype.setSqueakDisplayEntriesList = function(value) {\n jspb.Message.setRepeatedWrapperField(this, 1, value);\n};\n\n\n/**\n * @param {!proto.squeaknode.SqueakDisplayEntry=} opt_value\n * @param {number=} opt_index\n * @return {!proto.squeaknode.SqueakDisplayEntry}\n */\nproto.squeaknode.GetAddressSqueakDisplaysReply.prototype.addSqueakDisplayEntries = function(opt_value, opt_index) {\n return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.squeaknode.SqueakDisplayEntry, opt_index);\n};\n\n\nproto.squeaknode.GetAddressSqueakDisplaysReply.prototype.clearSqueakDisplayEntriesList = function() {\n this.setSqueakDisplayEntriesList([]);\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.squeaknode.GetAncestorSqueakDisplaysRequest = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.squeaknode.GetAncestorSqueakDisplaysRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.squeaknode.GetAncestorSqueakDisplaysRequest.displayName = 'proto.squeaknode.GetAncestorSqueakDisplaysRequest';\n}\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.squeaknode.GetAncestorSqueakDisplaysRequest.prototype.toObject = function(opt_includeInstance) {\n return proto.squeaknode.GetAncestorSqueakDisplaysRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.squeaknode.GetAncestorSqueakDisplaysRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.GetAncestorSqueakDisplaysRequest.toObject = function(includeInstance, msg) {\n var f, obj = {\n squeakHash: jspb.Message.getFieldWithDefault(msg, 1, \"\")\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.squeaknode.GetAncestorSqueakDisplaysRequest}\n */\nproto.squeaknode.GetAncestorSqueakDisplaysRequest.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.squeaknode.GetAncestorSqueakDisplaysRequest;\n return proto.squeaknode.GetAncestorSqueakDisplaysRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.squeaknode.GetAncestorSqueakDisplaysRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.squeaknode.GetAncestorSqueakDisplaysRequest}\n */\nproto.squeaknode.GetAncestorSqueakDisplaysRequest.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setSqueakHash(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.squeaknode.GetAncestorSqueakDisplaysRequest.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.squeaknode.GetAncestorSqueakDisplaysRequest.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.squeaknode.GetAncestorSqueakDisplaysRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.GetAncestorSqueakDisplaysRequest.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getSqueakHash();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n};\n\n\n/**\n * optional string squeak_hash = 1;\n * @return {string}\n */\nproto.squeaknode.GetAncestorSqueakDisplaysRequest.prototype.getSqueakHash = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/** @param {string} value */\nproto.squeaknode.GetAncestorSqueakDisplaysRequest.prototype.setSqueakHash = function(value) {\n jspb.Message.setField(this, 1, value);\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.squeaknode.GetAncestorSqueakDisplaysReply = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, proto.squeaknode.GetAncestorSqueakDisplaysReply.repeatedFields_, null);\n};\ngoog.inherits(proto.squeaknode.GetAncestorSqueakDisplaysReply, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.squeaknode.GetAncestorSqueakDisplaysReply.displayName = 'proto.squeaknode.GetAncestorSqueakDisplaysReply';\n}\n/**\n * List of repeated fields within this message type.\n * @private {!Array}\n * @const\n */\nproto.squeaknode.GetAncestorSqueakDisplaysReply.repeatedFields_ = [1];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.squeaknode.GetAncestorSqueakDisplaysReply.prototype.toObject = function(opt_includeInstance) {\n return proto.squeaknode.GetAncestorSqueakDisplaysReply.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.squeaknode.GetAncestorSqueakDisplaysReply} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.GetAncestorSqueakDisplaysReply.toObject = function(includeInstance, msg) {\n var f, obj = {\n squeakDisplayEntriesList: jspb.Message.toObjectList(msg.getSqueakDisplayEntriesList(),\n proto.squeaknode.SqueakDisplayEntry.toObject, includeInstance)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.squeaknode.GetAncestorSqueakDisplaysReply}\n */\nproto.squeaknode.GetAncestorSqueakDisplaysReply.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.squeaknode.GetAncestorSqueakDisplaysReply;\n return proto.squeaknode.GetAncestorSqueakDisplaysReply.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.squeaknode.GetAncestorSqueakDisplaysReply} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.squeaknode.GetAncestorSqueakDisplaysReply}\n */\nproto.squeaknode.GetAncestorSqueakDisplaysReply.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = new proto.squeaknode.SqueakDisplayEntry;\n reader.readMessage(value,proto.squeaknode.SqueakDisplayEntry.deserializeBinaryFromReader);\n msg.addSqueakDisplayEntries(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.squeaknode.GetAncestorSqueakDisplaysReply.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.squeaknode.GetAncestorSqueakDisplaysReply.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.squeaknode.GetAncestorSqueakDisplaysReply} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.GetAncestorSqueakDisplaysReply.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getSqueakDisplayEntriesList();\n if (f.length > 0) {\n writer.writeRepeatedMessage(\n 1,\n f,\n proto.squeaknode.SqueakDisplayEntry.serializeBinaryToWriter\n );\n }\n};\n\n\n/**\n * repeated SqueakDisplayEntry squeak_display_entries = 1;\n * @return {!Array.}\n */\nproto.squeaknode.GetAncestorSqueakDisplaysReply.prototype.getSqueakDisplayEntriesList = function() {\n return /** @type{!Array.} */ (\n jspb.Message.getRepeatedWrapperField(this, proto.squeaknode.SqueakDisplayEntry, 1));\n};\n\n\n/** @param {!Array.} value */\nproto.squeaknode.GetAncestorSqueakDisplaysReply.prototype.setSqueakDisplayEntriesList = function(value) {\n jspb.Message.setRepeatedWrapperField(this, 1, value);\n};\n\n\n/**\n * @param {!proto.squeaknode.SqueakDisplayEntry=} opt_value\n * @param {number=} opt_index\n * @return {!proto.squeaknode.SqueakDisplayEntry}\n */\nproto.squeaknode.GetAncestorSqueakDisplaysReply.prototype.addSqueakDisplayEntries = function(opt_value, opt_index) {\n return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.squeaknode.SqueakDisplayEntry, opt_index);\n};\n\n\nproto.squeaknode.GetAncestorSqueakDisplaysReply.prototype.clearSqueakDisplayEntriesList = function() {\n this.setSqueakDisplayEntriesList([]);\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.squeaknode.DeleteSqueakRequest = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.squeaknode.DeleteSqueakRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.squeaknode.DeleteSqueakRequest.displayName = 'proto.squeaknode.DeleteSqueakRequest';\n}\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.squeaknode.DeleteSqueakRequest.prototype.toObject = function(opt_includeInstance) {\n return proto.squeaknode.DeleteSqueakRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.squeaknode.DeleteSqueakRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.DeleteSqueakRequest.toObject = function(includeInstance, msg) {\n var f, obj = {\n squeakHash: jspb.Message.getFieldWithDefault(msg, 1, \"\")\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.squeaknode.DeleteSqueakRequest}\n */\nproto.squeaknode.DeleteSqueakRequest.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.squeaknode.DeleteSqueakRequest;\n return proto.squeaknode.DeleteSqueakRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.squeaknode.DeleteSqueakRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.squeaknode.DeleteSqueakRequest}\n */\nproto.squeaknode.DeleteSqueakRequest.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setSqueakHash(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.squeaknode.DeleteSqueakRequest.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.squeaknode.DeleteSqueakRequest.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.squeaknode.DeleteSqueakRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.DeleteSqueakRequest.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getSqueakHash();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n};\n\n\n/**\n * optional string squeak_hash = 1;\n * @return {string}\n */\nproto.squeaknode.DeleteSqueakRequest.prototype.getSqueakHash = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/** @param {string} value */\nproto.squeaknode.DeleteSqueakRequest.prototype.setSqueakHash = function(value) {\n jspb.Message.setField(this, 1, value);\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.squeaknode.DeleteSqueakReply = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.squeaknode.DeleteSqueakReply, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.squeaknode.DeleteSqueakReply.displayName = 'proto.squeaknode.DeleteSqueakReply';\n}\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.squeaknode.DeleteSqueakReply.prototype.toObject = function(opt_includeInstance) {\n return proto.squeaknode.DeleteSqueakReply.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.squeaknode.DeleteSqueakReply} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.DeleteSqueakReply.toObject = function(includeInstance, msg) {\n var f, obj = {\n\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.squeaknode.DeleteSqueakReply}\n */\nproto.squeaknode.DeleteSqueakReply.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.squeaknode.DeleteSqueakReply;\n return proto.squeaknode.DeleteSqueakReply.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.squeaknode.DeleteSqueakReply} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.squeaknode.DeleteSqueakReply}\n */\nproto.squeaknode.DeleteSqueakReply.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.squeaknode.DeleteSqueakReply.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.squeaknode.DeleteSqueakReply.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.squeaknode.DeleteSqueakReply} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.DeleteSqueakReply.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.squeaknode.CreatePeerRequest = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.squeaknode.CreatePeerRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.squeaknode.CreatePeerRequest.displayName = 'proto.squeaknode.CreatePeerRequest';\n}\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.squeaknode.CreatePeerRequest.prototype.toObject = function(opt_includeInstance) {\n return proto.squeaknode.CreatePeerRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.squeaknode.CreatePeerRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.CreatePeerRequest.toObject = function(includeInstance, msg) {\n var f, obj = {\n peerName: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n host: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n port: jspb.Message.getFieldWithDefault(msg, 3, 0)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.squeaknode.CreatePeerRequest}\n */\nproto.squeaknode.CreatePeerRequest.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.squeaknode.CreatePeerRequest;\n return proto.squeaknode.CreatePeerRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.squeaknode.CreatePeerRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.squeaknode.CreatePeerRequest}\n */\nproto.squeaknode.CreatePeerRequest.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setPeerName(value);\n break;\n case 2:\n var value = /** @type {string} */ (reader.readString());\n msg.setHost(value);\n break;\n case 3:\n var value = /** @type {number} */ (reader.readInt32());\n msg.setPort(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.squeaknode.CreatePeerRequest.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.squeaknode.CreatePeerRequest.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.squeaknode.CreatePeerRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.CreatePeerRequest.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getPeerName();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n f = message.getHost();\n if (f.length > 0) {\n writer.writeString(\n 2,\n f\n );\n }\n f = message.getPort();\n if (f !== 0) {\n writer.writeInt32(\n 3,\n f\n );\n }\n};\n\n\n/**\n * optional string peer_name = 1;\n * @return {string}\n */\nproto.squeaknode.CreatePeerRequest.prototype.getPeerName = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/** @param {string} value */\nproto.squeaknode.CreatePeerRequest.prototype.setPeerName = function(value) {\n jspb.Message.setField(this, 1, value);\n};\n\n\n/**\n * optional string host = 2;\n * @return {string}\n */\nproto.squeaknode.CreatePeerRequest.prototype.getHost = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/** @param {string} value */\nproto.squeaknode.CreatePeerRequest.prototype.setHost = function(value) {\n jspb.Message.setField(this, 2, value);\n};\n\n\n/**\n * optional int32 port = 3;\n * @return {number}\n */\nproto.squeaknode.CreatePeerRequest.prototype.getPort = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0));\n};\n\n\n/** @param {number} value */\nproto.squeaknode.CreatePeerRequest.prototype.setPort = function(value) {\n jspb.Message.setField(this, 3, value);\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.squeaknode.CreatePeerReply = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.squeaknode.CreatePeerReply, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.squeaknode.CreatePeerReply.displayName = 'proto.squeaknode.CreatePeerReply';\n}\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.squeaknode.CreatePeerReply.prototype.toObject = function(opt_includeInstance) {\n return proto.squeaknode.CreatePeerReply.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.squeaknode.CreatePeerReply} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.CreatePeerReply.toObject = function(includeInstance, msg) {\n var f, obj = {\n peerId: jspb.Message.getFieldWithDefault(msg, 1, 0)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.squeaknode.CreatePeerReply}\n */\nproto.squeaknode.CreatePeerReply.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.squeaknode.CreatePeerReply;\n return proto.squeaknode.CreatePeerReply.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.squeaknode.CreatePeerReply} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.squeaknode.CreatePeerReply}\n */\nproto.squeaknode.CreatePeerReply.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {number} */ (reader.readInt32());\n msg.setPeerId(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.squeaknode.CreatePeerReply.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.squeaknode.CreatePeerReply.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.squeaknode.CreatePeerReply} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.CreatePeerReply.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getPeerId();\n if (f !== 0) {\n writer.writeInt32(\n 1,\n f\n );\n }\n};\n\n\n/**\n * optional int32 peer_id = 1;\n * @return {number}\n */\nproto.squeaknode.CreatePeerReply.prototype.getPeerId = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/** @param {number} value */\nproto.squeaknode.CreatePeerReply.prototype.setPeerId = function(value) {\n jspb.Message.setField(this, 1, value);\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.squeaknode.GetPeerRequest = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.squeaknode.GetPeerRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.squeaknode.GetPeerRequest.displayName = 'proto.squeaknode.GetPeerRequest';\n}\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.squeaknode.GetPeerRequest.prototype.toObject = function(opt_includeInstance) {\n return proto.squeaknode.GetPeerRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.squeaknode.GetPeerRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.GetPeerRequest.toObject = function(includeInstance, msg) {\n var f, obj = {\n peerId: jspb.Message.getFieldWithDefault(msg, 1, 0)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.squeaknode.GetPeerRequest}\n */\nproto.squeaknode.GetPeerRequest.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.squeaknode.GetPeerRequest;\n return proto.squeaknode.GetPeerRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.squeaknode.GetPeerRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.squeaknode.GetPeerRequest}\n */\nproto.squeaknode.GetPeerRequest.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {number} */ (reader.readInt32());\n msg.setPeerId(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.squeaknode.GetPeerRequest.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.squeaknode.GetPeerRequest.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.squeaknode.GetPeerRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.GetPeerRequest.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getPeerId();\n if (f !== 0) {\n writer.writeInt32(\n 1,\n f\n );\n }\n};\n\n\n/**\n * optional int32 peer_id = 1;\n * @return {number}\n */\nproto.squeaknode.GetPeerRequest.prototype.getPeerId = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/** @param {number} value */\nproto.squeaknode.GetPeerRequest.prototype.setPeerId = function(value) {\n jspb.Message.setField(this, 1, value);\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.squeaknode.GetPeerReply = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.squeaknode.GetPeerReply, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.squeaknode.GetPeerReply.displayName = 'proto.squeaknode.GetPeerReply';\n}\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.squeaknode.GetPeerReply.prototype.toObject = function(opt_includeInstance) {\n return proto.squeaknode.GetPeerReply.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.squeaknode.GetPeerReply} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.GetPeerReply.toObject = function(includeInstance, msg) {\n var f, obj = {\n squeakPeer: (f = msg.getSqueakPeer()) && proto.squeaknode.SqueakPeer.toObject(includeInstance, f)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.squeaknode.GetPeerReply}\n */\nproto.squeaknode.GetPeerReply.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.squeaknode.GetPeerReply;\n return proto.squeaknode.GetPeerReply.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.squeaknode.GetPeerReply} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.squeaknode.GetPeerReply}\n */\nproto.squeaknode.GetPeerReply.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = new proto.squeaknode.SqueakPeer;\n reader.readMessage(value,proto.squeaknode.SqueakPeer.deserializeBinaryFromReader);\n msg.setSqueakPeer(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.squeaknode.GetPeerReply.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.squeaknode.GetPeerReply.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.squeaknode.GetPeerReply} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.GetPeerReply.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getSqueakPeer();\n if (f != null) {\n writer.writeMessage(\n 1,\n f,\n proto.squeaknode.SqueakPeer.serializeBinaryToWriter\n );\n }\n};\n\n\n/**\n * optional SqueakPeer squeak_peer = 1;\n * @return {?proto.squeaknode.SqueakPeer}\n */\nproto.squeaknode.GetPeerReply.prototype.getSqueakPeer = function() {\n return /** @type{?proto.squeaknode.SqueakPeer} */ (\n jspb.Message.getWrapperField(this, proto.squeaknode.SqueakPeer, 1));\n};\n\n\n/** @param {?proto.squeaknode.SqueakPeer|undefined} value */\nproto.squeaknode.GetPeerReply.prototype.setSqueakPeer = function(value) {\n jspb.Message.setWrapperField(this, 1, value);\n};\n\n\nproto.squeaknode.GetPeerReply.prototype.clearSqueakPeer = function() {\n this.setSqueakPeer(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {!boolean}\n */\nproto.squeaknode.GetPeerReply.prototype.hasSqueakPeer = function() {\n return jspb.Message.getField(this, 1) != null;\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.squeaknode.GetPeersRequest = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.squeaknode.GetPeersRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.squeaknode.GetPeersRequest.displayName = 'proto.squeaknode.GetPeersRequest';\n}\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.squeaknode.GetPeersRequest.prototype.toObject = function(opt_includeInstance) {\n return proto.squeaknode.GetPeersRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.squeaknode.GetPeersRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.GetPeersRequest.toObject = function(includeInstance, msg) {\n var f, obj = {\n\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.squeaknode.GetPeersRequest}\n */\nproto.squeaknode.GetPeersRequest.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.squeaknode.GetPeersRequest;\n return proto.squeaknode.GetPeersRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.squeaknode.GetPeersRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.squeaknode.GetPeersRequest}\n */\nproto.squeaknode.GetPeersRequest.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.squeaknode.GetPeersRequest.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.squeaknode.GetPeersRequest.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.squeaknode.GetPeersRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.GetPeersRequest.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.squeaknode.GetPeersReply = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, proto.squeaknode.GetPeersReply.repeatedFields_, null);\n};\ngoog.inherits(proto.squeaknode.GetPeersReply, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.squeaknode.GetPeersReply.displayName = 'proto.squeaknode.GetPeersReply';\n}\n/**\n * List of repeated fields within this message type.\n * @private {!Array}\n * @const\n */\nproto.squeaknode.GetPeersReply.repeatedFields_ = [1];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.squeaknode.GetPeersReply.prototype.toObject = function(opt_includeInstance) {\n return proto.squeaknode.GetPeersReply.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.squeaknode.GetPeersReply} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.GetPeersReply.toObject = function(includeInstance, msg) {\n var f, obj = {\n squeakPeersList: jspb.Message.toObjectList(msg.getSqueakPeersList(),\n proto.squeaknode.SqueakPeer.toObject, includeInstance)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.squeaknode.GetPeersReply}\n */\nproto.squeaknode.GetPeersReply.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.squeaknode.GetPeersReply;\n return proto.squeaknode.GetPeersReply.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.squeaknode.GetPeersReply} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.squeaknode.GetPeersReply}\n */\nproto.squeaknode.GetPeersReply.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = new proto.squeaknode.SqueakPeer;\n reader.readMessage(value,proto.squeaknode.SqueakPeer.deserializeBinaryFromReader);\n msg.addSqueakPeers(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.squeaknode.GetPeersReply.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.squeaknode.GetPeersReply.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.squeaknode.GetPeersReply} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.GetPeersReply.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getSqueakPeersList();\n if (f.length > 0) {\n writer.writeRepeatedMessage(\n 1,\n f,\n proto.squeaknode.SqueakPeer.serializeBinaryToWriter\n );\n }\n};\n\n\n/**\n * repeated SqueakPeer squeak_peers = 1;\n * @return {!Array.}\n */\nproto.squeaknode.GetPeersReply.prototype.getSqueakPeersList = function() {\n return /** @type{!Array.} */ (\n jspb.Message.getRepeatedWrapperField(this, proto.squeaknode.SqueakPeer, 1));\n};\n\n\n/** @param {!Array.} value */\nproto.squeaknode.GetPeersReply.prototype.setSqueakPeersList = function(value) {\n jspb.Message.setRepeatedWrapperField(this, 1, value);\n};\n\n\n/**\n * @param {!proto.squeaknode.SqueakPeer=} opt_value\n * @param {number=} opt_index\n * @return {!proto.squeaknode.SqueakPeer}\n */\nproto.squeaknode.GetPeersReply.prototype.addSqueakPeers = function(opt_value, opt_index) {\n return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.squeaknode.SqueakPeer, opt_index);\n};\n\n\nproto.squeaknode.GetPeersReply.prototype.clearSqueakPeersList = function() {\n this.setSqueakPeersList([]);\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.squeaknode.SqueakPeer = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.squeaknode.SqueakPeer, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.squeaknode.SqueakPeer.displayName = 'proto.squeaknode.SqueakPeer';\n}\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.squeaknode.SqueakPeer.prototype.toObject = function(opt_includeInstance) {\n return proto.squeaknode.SqueakPeer.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.squeaknode.SqueakPeer} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.SqueakPeer.toObject = function(includeInstance, msg) {\n var f, obj = {\n peerId: jspb.Message.getFieldWithDefault(msg, 1, 0),\n peerName: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n host: jspb.Message.getFieldWithDefault(msg, 3, \"\"),\n port: jspb.Message.getFieldWithDefault(msg, 4, 0),\n uploading: jspb.Message.getFieldWithDefault(msg, 5, false),\n downloading: jspb.Message.getFieldWithDefault(msg, 6, false)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.squeaknode.SqueakPeer}\n */\nproto.squeaknode.SqueakPeer.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.squeaknode.SqueakPeer;\n return proto.squeaknode.SqueakPeer.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.squeaknode.SqueakPeer} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.squeaknode.SqueakPeer}\n */\nproto.squeaknode.SqueakPeer.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {number} */ (reader.readInt32());\n msg.setPeerId(value);\n break;\n case 2:\n var value = /** @type {string} */ (reader.readString());\n msg.setPeerName(value);\n break;\n case 3:\n var value = /** @type {string} */ (reader.readString());\n msg.setHost(value);\n break;\n case 4:\n var value = /** @type {number} */ (reader.readInt32());\n msg.setPort(value);\n break;\n case 5:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setUploading(value);\n break;\n case 6:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setDownloading(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.squeaknode.SqueakPeer.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.squeaknode.SqueakPeer.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.squeaknode.SqueakPeer} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.SqueakPeer.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getPeerId();\n if (f !== 0) {\n writer.writeInt32(\n 1,\n f\n );\n }\n f = message.getPeerName();\n if (f.length > 0) {\n writer.writeString(\n 2,\n f\n );\n }\n f = message.getHost();\n if (f.length > 0) {\n writer.writeString(\n 3,\n f\n );\n }\n f = message.getPort();\n if (f !== 0) {\n writer.writeInt32(\n 4,\n f\n );\n }\n f = message.getUploading();\n if (f) {\n writer.writeBool(\n 5,\n f\n );\n }\n f = message.getDownloading();\n if (f) {\n writer.writeBool(\n 6,\n f\n );\n }\n};\n\n\n/**\n * optional int32 peer_id = 1;\n * @return {number}\n */\nproto.squeaknode.SqueakPeer.prototype.getPeerId = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/** @param {number} value */\nproto.squeaknode.SqueakPeer.prototype.setPeerId = function(value) {\n jspb.Message.setField(this, 1, value);\n};\n\n\n/**\n * optional string peer_name = 2;\n * @return {string}\n */\nproto.squeaknode.SqueakPeer.prototype.getPeerName = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/** @param {string} value */\nproto.squeaknode.SqueakPeer.prototype.setPeerName = function(value) {\n jspb.Message.setField(this, 2, value);\n};\n\n\n/**\n * optional string host = 3;\n * @return {string}\n */\nproto.squeaknode.SqueakPeer.prototype.getHost = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/** @param {string} value */\nproto.squeaknode.SqueakPeer.prototype.setHost = function(value) {\n jspb.Message.setField(this, 3, value);\n};\n\n\n/**\n * optional int32 port = 4;\n * @return {number}\n */\nproto.squeaknode.SqueakPeer.prototype.getPort = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0));\n};\n\n\n/** @param {number} value */\nproto.squeaknode.SqueakPeer.prototype.setPort = function(value) {\n jspb.Message.setField(this, 4, value);\n};\n\n\n/**\n * optional bool uploading = 5;\n * Note that Boolean fields may be set to 0/1 when serialized from a Java server.\n * You should avoid comparisons like {@code val === true/false} in those cases.\n * @return {boolean}\n */\nproto.squeaknode.SqueakPeer.prototype.getUploading = function() {\n return /** @type {boolean} */ (jspb.Message.getFieldWithDefault(this, 5, false));\n};\n\n\n/** @param {boolean} value */\nproto.squeaknode.SqueakPeer.prototype.setUploading = function(value) {\n jspb.Message.setField(this, 5, value);\n};\n\n\n/**\n * optional bool downloading = 6;\n * Note that Boolean fields may be set to 0/1 when serialized from a Java server.\n * You should avoid comparisons like {@code val === true/false} in those cases.\n * @return {boolean}\n */\nproto.squeaknode.SqueakPeer.prototype.getDownloading = function() {\n return /** @type {boolean} */ (jspb.Message.getFieldWithDefault(this, 6, false));\n};\n\n\n/** @param {boolean} value */\nproto.squeaknode.SqueakPeer.prototype.setDownloading = function(value) {\n jspb.Message.setField(this, 6, value);\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.squeaknode.SetPeerDownloadingRequest = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.squeaknode.SetPeerDownloadingRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.squeaknode.SetPeerDownloadingRequest.displayName = 'proto.squeaknode.SetPeerDownloadingRequest';\n}\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.squeaknode.SetPeerDownloadingRequest.prototype.toObject = function(opt_includeInstance) {\n return proto.squeaknode.SetPeerDownloadingRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.squeaknode.SetPeerDownloadingRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.SetPeerDownloadingRequest.toObject = function(includeInstance, msg) {\n var f, obj = {\n peerId: jspb.Message.getFieldWithDefault(msg, 1, 0),\n downloading: jspb.Message.getFieldWithDefault(msg, 2, false)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.squeaknode.SetPeerDownloadingRequest}\n */\nproto.squeaknode.SetPeerDownloadingRequest.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.squeaknode.SetPeerDownloadingRequest;\n return proto.squeaknode.SetPeerDownloadingRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.squeaknode.SetPeerDownloadingRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.squeaknode.SetPeerDownloadingRequest}\n */\nproto.squeaknode.SetPeerDownloadingRequest.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {number} */ (reader.readInt32());\n msg.setPeerId(value);\n break;\n case 2:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setDownloading(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.squeaknode.SetPeerDownloadingRequest.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.squeaknode.SetPeerDownloadingRequest.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.squeaknode.SetPeerDownloadingRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.SetPeerDownloadingRequest.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getPeerId();\n if (f !== 0) {\n writer.writeInt32(\n 1,\n f\n );\n }\n f = message.getDownloading();\n if (f) {\n writer.writeBool(\n 2,\n f\n );\n }\n};\n\n\n/**\n * optional int32 peer_id = 1;\n * @return {number}\n */\nproto.squeaknode.SetPeerDownloadingRequest.prototype.getPeerId = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/** @param {number} value */\nproto.squeaknode.SetPeerDownloadingRequest.prototype.setPeerId = function(value) {\n jspb.Message.setField(this, 1, value);\n};\n\n\n/**\n * optional bool downloading = 2;\n * Note that Boolean fields may be set to 0/1 when serialized from a Java server.\n * You should avoid comparisons like {@code val === true/false} in those cases.\n * @return {boolean}\n */\nproto.squeaknode.SetPeerDownloadingRequest.prototype.getDownloading = function() {\n return /** @type {boolean} */ (jspb.Message.getFieldWithDefault(this, 2, false));\n};\n\n\n/** @param {boolean} value */\nproto.squeaknode.SetPeerDownloadingRequest.prototype.setDownloading = function(value) {\n jspb.Message.setField(this, 2, value);\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.squeaknode.SetPeerDownloadingReply = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.squeaknode.SetPeerDownloadingReply, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.squeaknode.SetPeerDownloadingReply.displayName = 'proto.squeaknode.SetPeerDownloadingReply';\n}\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.squeaknode.SetPeerDownloadingReply.prototype.toObject = function(opt_includeInstance) {\n return proto.squeaknode.SetPeerDownloadingReply.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.squeaknode.SetPeerDownloadingReply} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.SetPeerDownloadingReply.toObject = function(includeInstance, msg) {\n var f, obj = {\n\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.squeaknode.SetPeerDownloadingReply}\n */\nproto.squeaknode.SetPeerDownloadingReply.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.squeaknode.SetPeerDownloadingReply;\n return proto.squeaknode.SetPeerDownloadingReply.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.squeaknode.SetPeerDownloadingReply} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.squeaknode.SetPeerDownloadingReply}\n */\nproto.squeaknode.SetPeerDownloadingReply.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.squeaknode.SetPeerDownloadingReply.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.squeaknode.SetPeerDownloadingReply.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.squeaknode.SetPeerDownloadingReply} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.SetPeerDownloadingReply.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.squeaknode.SetPeerUploadingRequest = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.squeaknode.SetPeerUploadingRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.squeaknode.SetPeerUploadingRequest.displayName = 'proto.squeaknode.SetPeerUploadingRequest';\n}\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.squeaknode.SetPeerUploadingRequest.prototype.toObject = function(opt_includeInstance) {\n return proto.squeaknode.SetPeerUploadingRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.squeaknode.SetPeerUploadingRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.SetPeerUploadingRequest.toObject = function(includeInstance, msg) {\n var f, obj = {\n peerId: jspb.Message.getFieldWithDefault(msg, 1, 0),\n uploading: jspb.Message.getFieldWithDefault(msg, 2, false)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.squeaknode.SetPeerUploadingRequest}\n */\nproto.squeaknode.SetPeerUploadingRequest.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.squeaknode.SetPeerUploadingRequest;\n return proto.squeaknode.SetPeerUploadingRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.squeaknode.SetPeerUploadingRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.squeaknode.SetPeerUploadingRequest}\n */\nproto.squeaknode.SetPeerUploadingRequest.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {number} */ (reader.readInt32());\n msg.setPeerId(value);\n break;\n case 2:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setUploading(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.squeaknode.SetPeerUploadingRequest.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.squeaknode.SetPeerUploadingRequest.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.squeaknode.SetPeerUploadingRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.SetPeerUploadingRequest.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getPeerId();\n if (f !== 0) {\n writer.writeInt32(\n 1,\n f\n );\n }\n f = message.getUploading();\n if (f) {\n writer.writeBool(\n 2,\n f\n );\n }\n};\n\n\n/**\n * optional int32 peer_id = 1;\n * @return {number}\n */\nproto.squeaknode.SetPeerUploadingRequest.prototype.getPeerId = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/** @param {number} value */\nproto.squeaknode.SetPeerUploadingRequest.prototype.setPeerId = function(value) {\n jspb.Message.setField(this, 1, value);\n};\n\n\n/**\n * optional bool uploading = 2;\n * Note that Boolean fields may be set to 0/1 when serialized from a Java server.\n * You should avoid comparisons like {@code val === true/false} in those cases.\n * @return {boolean}\n */\nproto.squeaknode.SetPeerUploadingRequest.prototype.getUploading = function() {\n return /** @type {boolean} */ (jspb.Message.getFieldWithDefault(this, 2, false));\n};\n\n\n/** @param {boolean} value */\nproto.squeaknode.SetPeerUploadingRequest.prototype.setUploading = function(value) {\n jspb.Message.setField(this, 2, value);\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.squeaknode.SetPeerUploadingReply = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.squeaknode.SetPeerUploadingReply, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.squeaknode.SetPeerUploadingReply.displayName = 'proto.squeaknode.SetPeerUploadingReply';\n}\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.squeaknode.SetPeerUploadingReply.prototype.toObject = function(opt_includeInstance) {\n return proto.squeaknode.SetPeerUploadingReply.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.squeaknode.SetPeerUploadingReply} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.SetPeerUploadingReply.toObject = function(includeInstance, msg) {\n var f, obj = {\n\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.squeaknode.SetPeerUploadingReply}\n */\nproto.squeaknode.SetPeerUploadingReply.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.squeaknode.SetPeerUploadingReply;\n return proto.squeaknode.SetPeerUploadingReply.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.squeaknode.SetPeerUploadingReply} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.squeaknode.SetPeerUploadingReply}\n */\nproto.squeaknode.SetPeerUploadingReply.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.squeaknode.SetPeerUploadingReply.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.squeaknode.SetPeerUploadingReply.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.squeaknode.SetPeerUploadingReply} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.SetPeerUploadingReply.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.squeaknode.DeletePeerRequest = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.squeaknode.DeletePeerRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.squeaknode.DeletePeerRequest.displayName = 'proto.squeaknode.DeletePeerRequest';\n}\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.squeaknode.DeletePeerRequest.prototype.toObject = function(opt_includeInstance) {\n return proto.squeaknode.DeletePeerRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.squeaknode.DeletePeerRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.DeletePeerRequest.toObject = function(includeInstance, msg) {\n var f, obj = {\n peerId: jspb.Message.getFieldWithDefault(msg, 1, 0)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.squeaknode.DeletePeerRequest}\n */\nproto.squeaknode.DeletePeerRequest.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.squeaknode.DeletePeerRequest;\n return proto.squeaknode.DeletePeerRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.squeaknode.DeletePeerRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.squeaknode.DeletePeerRequest}\n */\nproto.squeaknode.DeletePeerRequest.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {number} */ (reader.readInt32());\n msg.setPeerId(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.squeaknode.DeletePeerRequest.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.squeaknode.DeletePeerRequest.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.squeaknode.DeletePeerRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.DeletePeerRequest.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getPeerId();\n if (f !== 0) {\n writer.writeInt32(\n 1,\n f\n );\n }\n};\n\n\n/**\n * optional int32 peer_id = 1;\n * @return {number}\n */\nproto.squeaknode.DeletePeerRequest.prototype.getPeerId = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/** @param {number} value */\nproto.squeaknode.DeletePeerRequest.prototype.setPeerId = function(value) {\n jspb.Message.setField(this, 1, value);\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.squeaknode.DeletePeerReply = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.squeaknode.DeletePeerReply, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.squeaknode.DeletePeerReply.displayName = 'proto.squeaknode.DeletePeerReply';\n}\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.squeaknode.DeletePeerReply.prototype.toObject = function(opt_includeInstance) {\n return proto.squeaknode.DeletePeerReply.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.squeaknode.DeletePeerReply} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.DeletePeerReply.toObject = function(includeInstance, msg) {\n var f, obj = {\n\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.squeaknode.DeletePeerReply}\n */\nproto.squeaknode.DeletePeerReply.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.squeaknode.DeletePeerReply;\n return proto.squeaknode.DeletePeerReply.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.squeaknode.DeletePeerReply} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.squeaknode.DeletePeerReply}\n */\nproto.squeaknode.DeletePeerReply.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.squeaknode.DeletePeerReply.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.squeaknode.DeletePeerReply.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.squeaknode.DeletePeerReply} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.DeletePeerReply.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.squeaknode.LoadBuyOffersRequest = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.squeaknode.LoadBuyOffersRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.squeaknode.LoadBuyOffersRequest.displayName = 'proto.squeaknode.LoadBuyOffersRequest';\n}\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.squeaknode.LoadBuyOffersRequest.prototype.toObject = function(opt_includeInstance) {\n return proto.squeaknode.LoadBuyOffersRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.squeaknode.LoadBuyOffersRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.LoadBuyOffersRequest.toObject = function(includeInstance, msg) {\n var f, obj = {\n squeakHash: jspb.Message.getFieldWithDefault(msg, 1, \"\")\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.squeaknode.LoadBuyOffersRequest}\n */\nproto.squeaknode.LoadBuyOffersRequest.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.squeaknode.LoadBuyOffersRequest;\n return proto.squeaknode.LoadBuyOffersRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.squeaknode.LoadBuyOffersRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.squeaknode.LoadBuyOffersRequest}\n */\nproto.squeaknode.LoadBuyOffersRequest.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setSqueakHash(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.squeaknode.LoadBuyOffersRequest.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.squeaknode.LoadBuyOffersRequest.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.squeaknode.LoadBuyOffersRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.LoadBuyOffersRequest.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getSqueakHash();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n};\n\n\n/**\n * optional string squeak_hash = 1;\n * @return {string}\n */\nproto.squeaknode.LoadBuyOffersRequest.prototype.getSqueakHash = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/** @param {string} value */\nproto.squeaknode.LoadBuyOffersRequest.prototype.setSqueakHash = function(value) {\n jspb.Message.setField(this, 1, value);\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.squeaknode.LoadBuyOffersReply = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.squeaknode.LoadBuyOffersReply, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.squeaknode.LoadBuyOffersReply.displayName = 'proto.squeaknode.LoadBuyOffersReply';\n}\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.squeaknode.LoadBuyOffersReply.prototype.toObject = function(opt_includeInstance) {\n return proto.squeaknode.LoadBuyOffersReply.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.squeaknode.LoadBuyOffersReply} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.LoadBuyOffersReply.toObject = function(includeInstance, msg) {\n var f, obj = {\n\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.squeaknode.LoadBuyOffersReply}\n */\nproto.squeaknode.LoadBuyOffersReply.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.squeaknode.LoadBuyOffersReply;\n return proto.squeaknode.LoadBuyOffersReply.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.squeaknode.LoadBuyOffersReply} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.squeaknode.LoadBuyOffersReply}\n */\nproto.squeaknode.LoadBuyOffersReply.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.squeaknode.LoadBuyOffersReply.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.squeaknode.LoadBuyOffersReply.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.squeaknode.LoadBuyOffersReply} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.LoadBuyOffersReply.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.squeaknode.GetBuyOffersRequest = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.squeaknode.GetBuyOffersRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.squeaknode.GetBuyOffersRequest.displayName = 'proto.squeaknode.GetBuyOffersRequest';\n}\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.squeaknode.GetBuyOffersRequest.prototype.toObject = function(opt_includeInstance) {\n return proto.squeaknode.GetBuyOffersRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.squeaknode.GetBuyOffersRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.GetBuyOffersRequest.toObject = function(includeInstance, msg) {\n var f, obj = {\n squeakHash: jspb.Message.getFieldWithDefault(msg, 1, \"\")\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.squeaknode.GetBuyOffersRequest}\n */\nproto.squeaknode.GetBuyOffersRequest.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.squeaknode.GetBuyOffersRequest;\n return proto.squeaknode.GetBuyOffersRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.squeaknode.GetBuyOffersRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.squeaknode.GetBuyOffersRequest}\n */\nproto.squeaknode.GetBuyOffersRequest.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setSqueakHash(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.squeaknode.GetBuyOffersRequest.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.squeaknode.GetBuyOffersRequest.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.squeaknode.GetBuyOffersRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.GetBuyOffersRequest.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getSqueakHash();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n};\n\n\n/**\n * optional string squeak_hash = 1;\n * @return {string}\n */\nproto.squeaknode.GetBuyOffersRequest.prototype.getSqueakHash = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/** @param {string} value */\nproto.squeaknode.GetBuyOffersRequest.prototype.setSqueakHash = function(value) {\n jspb.Message.setField(this, 1, value);\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.squeaknode.GetBuyOffersReply = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, proto.squeaknode.GetBuyOffersReply.repeatedFields_, null);\n};\ngoog.inherits(proto.squeaknode.GetBuyOffersReply, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.squeaknode.GetBuyOffersReply.displayName = 'proto.squeaknode.GetBuyOffersReply';\n}\n/**\n * List of repeated fields within this message type.\n * @private {!Array}\n * @const\n */\nproto.squeaknode.GetBuyOffersReply.repeatedFields_ = [1];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.squeaknode.GetBuyOffersReply.prototype.toObject = function(opt_includeInstance) {\n return proto.squeaknode.GetBuyOffersReply.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.squeaknode.GetBuyOffersReply} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.GetBuyOffersReply.toObject = function(includeInstance, msg) {\n var f, obj = {\n offersList: jspb.Message.toObjectList(msg.getOffersList(),\n proto.squeaknode.OfferDisplayEntry.toObject, includeInstance)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.squeaknode.GetBuyOffersReply}\n */\nproto.squeaknode.GetBuyOffersReply.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.squeaknode.GetBuyOffersReply;\n return proto.squeaknode.GetBuyOffersReply.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.squeaknode.GetBuyOffersReply} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.squeaknode.GetBuyOffersReply}\n */\nproto.squeaknode.GetBuyOffersReply.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = new proto.squeaknode.OfferDisplayEntry;\n reader.readMessage(value,proto.squeaknode.OfferDisplayEntry.deserializeBinaryFromReader);\n msg.addOffers(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.squeaknode.GetBuyOffersReply.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.squeaknode.GetBuyOffersReply.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.squeaknode.GetBuyOffersReply} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.GetBuyOffersReply.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getOffersList();\n if (f.length > 0) {\n writer.writeRepeatedMessage(\n 1,\n f,\n proto.squeaknode.OfferDisplayEntry.serializeBinaryToWriter\n );\n }\n};\n\n\n/**\n * repeated OfferDisplayEntry offers = 1;\n * @return {!Array.}\n */\nproto.squeaknode.GetBuyOffersReply.prototype.getOffersList = function() {\n return /** @type{!Array.} */ (\n jspb.Message.getRepeatedWrapperField(this, proto.squeaknode.OfferDisplayEntry, 1));\n};\n\n\n/** @param {!Array.} value */\nproto.squeaknode.GetBuyOffersReply.prototype.setOffersList = function(value) {\n jspb.Message.setRepeatedWrapperField(this, 1, value);\n};\n\n\n/**\n * @param {!proto.squeaknode.OfferDisplayEntry=} opt_value\n * @param {number=} opt_index\n * @return {!proto.squeaknode.OfferDisplayEntry}\n */\nproto.squeaknode.GetBuyOffersReply.prototype.addOffers = function(opt_value, opt_index) {\n return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.squeaknode.OfferDisplayEntry, opt_index);\n};\n\n\nproto.squeaknode.GetBuyOffersReply.prototype.clearOffersList = function() {\n this.setOffersList([]);\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.squeaknode.GetBuyOfferRequest = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.squeaknode.GetBuyOfferRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.squeaknode.GetBuyOfferRequest.displayName = 'proto.squeaknode.GetBuyOfferRequest';\n}\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.squeaknode.GetBuyOfferRequest.prototype.toObject = function(opt_includeInstance) {\n return proto.squeaknode.GetBuyOfferRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.squeaknode.GetBuyOfferRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.GetBuyOfferRequest.toObject = function(includeInstance, msg) {\n var f, obj = {\n offerId: jspb.Message.getFieldWithDefault(msg, 1, 0)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.squeaknode.GetBuyOfferRequest}\n */\nproto.squeaknode.GetBuyOfferRequest.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.squeaknode.GetBuyOfferRequest;\n return proto.squeaknode.GetBuyOfferRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.squeaknode.GetBuyOfferRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.squeaknode.GetBuyOfferRequest}\n */\nproto.squeaknode.GetBuyOfferRequest.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {number} */ (reader.readInt32());\n msg.setOfferId(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.squeaknode.GetBuyOfferRequest.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.squeaknode.GetBuyOfferRequest.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.squeaknode.GetBuyOfferRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.GetBuyOfferRequest.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getOfferId();\n if (f !== 0) {\n writer.writeInt32(\n 1,\n f\n );\n }\n};\n\n\n/**\n * optional int32 offer_id = 1;\n * @return {number}\n */\nproto.squeaknode.GetBuyOfferRequest.prototype.getOfferId = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/** @param {number} value */\nproto.squeaknode.GetBuyOfferRequest.prototype.setOfferId = function(value) {\n jspb.Message.setField(this, 1, value);\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.squeaknode.GetBuyOfferReply = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.squeaknode.GetBuyOfferReply, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.squeaknode.GetBuyOfferReply.displayName = 'proto.squeaknode.GetBuyOfferReply';\n}\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.squeaknode.GetBuyOfferReply.prototype.toObject = function(opt_includeInstance) {\n return proto.squeaknode.GetBuyOfferReply.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.squeaknode.GetBuyOfferReply} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.GetBuyOfferReply.toObject = function(includeInstance, msg) {\n var f, obj = {\n offer: (f = msg.getOffer()) && proto.squeaknode.OfferDisplayEntry.toObject(includeInstance, f)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.squeaknode.GetBuyOfferReply}\n */\nproto.squeaknode.GetBuyOfferReply.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.squeaknode.GetBuyOfferReply;\n return proto.squeaknode.GetBuyOfferReply.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.squeaknode.GetBuyOfferReply} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.squeaknode.GetBuyOfferReply}\n */\nproto.squeaknode.GetBuyOfferReply.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = new proto.squeaknode.OfferDisplayEntry;\n reader.readMessage(value,proto.squeaknode.OfferDisplayEntry.deserializeBinaryFromReader);\n msg.setOffer(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.squeaknode.GetBuyOfferReply.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.squeaknode.GetBuyOfferReply.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.squeaknode.GetBuyOfferReply} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.GetBuyOfferReply.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getOffer();\n if (f != null) {\n writer.writeMessage(\n 1,\n f,\n proto.squeaknode.OfferDisplayEntry.serializeBinaryToWriter\n );\n }\n};\n\n\n/**\n * optional OfferDisplayEntry offer = 1;\n * @return {?proto.squeaknode.OfferDisplayEntry}\n */\nproto.squeaknode.GetBuyOfferReply.prototype.getOffer = function() {\n return /** @type{?proto.squeaknode.OfferDisplayEntry} */ (\n jspb.Message.getWrapperField(this, proto.squeaknode.OfferDisplayEntry, 1));\n};\n\n\n/** @param {?proto.squeaknode.OfferDisplayEntry|undefined} value */\nproto.squeaknode.GetBuyOfferReply.prototype.setOffer = function(value) {\n jspb.Message.setWrapperField(this, 1, value);\n};\n\n\nproto.squeaknode.GetBuyOfferReply.prototype.clearOffer = function() {\n this.setOffer(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {!boolean}\n */\nproto.squeaknode.GetBuyOfferReply.prototype.hasOffer = function() {\n return jspb.Message.getField(this, 1) != null;\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.squeaknode.OfferDisplayEntry = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.squeaknode.OfferDisplayEntry, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.squeaknode.OfferDisplayEntry.displayName = 'proto.squeaknode.OfferDisplayEntry';\n}\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.squeaknode.OfferDisplayEntry.prototype.toObject = function(opt_includeInstance) {\n return proto.squeaknode.OfferDisplayEntry.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.squeaknode.OfferDisplayEntry} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.OfferDisplayEntry.toObject = function(includeInstance, msg) {\n var f, obj = {\n offerId: jspb.Message.getFieldWithDefault(msg, 1, 0),\n squeakHash: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n priceMsat: jspb.Message.getFieldWithDefault(msg, 3, 0),\n nodePubkey: jspb.Message.getFieldWithDefault(msg, 4, \"\"),\n nodeHost: jspb.Message.getFieldWithDefault(msg, 5, \"\"),\n nodePort: jspb.Message.getFieldWithDefault(msg, 6, 0),\n peer: (f = msg.getPeer()) && proto.squeaknode.SqueakPeer.toObject(includeInstance, f),\n invoiceTimestamp: jspb.Message.getFieldWithDefault(msg, 8, 0),\n invoiceExpiry: jspb.Message.getFieldWithDefault(msg, 9, 0)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.squeaknode.OfferDisplayEntry}\n */\nproto.squeaknode.OfferDisplayEntry.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.squeaknode.OfferDisplayEntry;\n return proto.squeaknode.OfferDisplayEntry.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.squeaknode.OfferDisplayEntry} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.squeaknode.OfferDisplayEntry}\n */\nproto.squeaknode.OfferDisplayEntry.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {number} */ (reader.readInt32());\n msg.setOfferId(value);\n break;\n case 2:\n var value = /** @type {string} */ (reader.readString());\n msg.setSqueakHash(value);\n break;\n case 3:\n var value = /** @type {number} */ (reader.readInt64());\n msg.setPriceMsat(value);\n break;\n case 4:\n var value = /** @type {string} */ (reader.readString());\n msg.setNodePubkey(value);\n break;\n case 5:\n var value = /** @type {string} */ (reader.readString());\n msg.setNodeHost(value);\n break;\n case 6:\n var value = /** @type {number} */ (reader.readInt32());\n msg.setNodePort(value);\n break;\n case 7:\n var value = new proto.squeaknode.SqueakPeer;\n reader.readMessage(value,proto.squeaknode.SqueakPeer.deserializeBinaryFromReader);\n msg.setPeer(value);\n break;\n case 8:\n var value = /** @type {number} */ (reader.readInt32());\n msg.setInvoiceTimestamp(value);\n break;\n case 9:\n var value = /** @type {number} */ (reader.readInt32());\n msg.setInvoiceExpiry(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.squeaknode.OfferDisplayEntry.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.squeaknode.OfferDisplayEntry.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.squeaknode.OfferDisplayEntry} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.OfferDisplayEntry.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getOfferId();\n if (f !== 0) {\n writer.writeInt32(\n 1,\n f\n );\n }\n f = message.getSqueakHash();\n if (f.length > 0) {\n writer.writeString(\n 2,\n f\n );\n }\n f = message.getPriceMsat();\n if (f !== 0) {\n writer.writeInt64(\n 3,\n f\n );\n }\n f = message.getNodePubkey();\n if (f.length > 0) {\n writer.writeString(\n 4,\n f\n );\n }\n f = message.getNodeHost();\n if (f.length > 0) {\n writer.writeString(\n 5,\n f\n );\n }\n f = message.getNodePort();\n if (f !== 0) {\n writer.writeInt32(\n 6,\n f\n );\n }\n f = message.getPeer();\n if (f != null) {\n writer.writeMessage(\n 7,\n f,\n proto.squeaknode.SqueakPeer.serializeBinaryToWriter\n );\n }\n f = message.getInvoiceTimestamp();\n if (f !== 0) {\n writer.writeInt32(\n 8,\n f\n );\n }\n f = message.getInvoiceExpiry();\n if (f !== 0) {\n writer.writeInt32(\n 9,\n f\n );\n }\n};\n\n\n/**\n * optional int32 offer_id = 1;\n * @return {number}\n */\nproto.squeaknode.OfferDisplayEntry.prototype.getOfferId = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/** @param {number} value */\nproto.squeaknode.OfferDisplayEntry.prototype.setOfferId = function(value) {\n jspb.Message.setField(this, 1, value);\n};\n\n\n/**\n * optional string squeak_hash = 2;\n * @return {string}\n */\nproto.squeaknode.OfferDisplayEntry.prototype.getSqueakHash = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/** @param {string} value */\nproto.squeaknode.OfferDisplayEntry.prototype.setSqueakHash = function(value) {\n jspb.Message.setField(this, 2, value);\n};\n\n\n/**\n * optional int64 price_msat = 3;\n * @return {number}\n */\nproto.squeaknode.OfferDisplayEntry.prototype.getPriceMsat = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0));\n};\n\n\n/** @param {number} value */\nproto.squeaknode.OfferDisplayEntry.prototype.setPriceMsat = function(value) {\n jspb.Message.setField(this, 3, value);\n};\n\n\n/**\n * optional string node_pubkey = 4;\n * @return {string}\n */\nproto.squeaknode.OfferDisplayEntry.prototype.getNodePubkey = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"\"));\n};\n\n\n/** @param {string} value */\nproto.squeaknode.OfferDisplayEntry.prototype.setNodePubkey = function(value) {\n jspb.Message.setField(this, 4, value);\n};\n\n\n/**\n * optional string node_host = 5;\n * @return {string}\n */\nproto.squeaknode.OfferDisplayEntry.prototype.getNodeHost = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, \"\"));\n};\n\n\n/** @param {string} value */\nproto.squeaknode.OfferDisplayEntry.prototype.setNodeHost = function(value) {\n jspb.Message.setField(this, 5, value);\n};\n\n\n/**\n * optional int32 node_port = 6;\n * @return {number}\n */\nproto.squeaknode.OfferDisplayEntry.prototype.getNodePort = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 6, 0));\n};\n\n\n/** @param {number} value */\nproto.squeaknode.OfferDisplayEntry.prototype.setNodePort = function(value) {\n jspb.Message.setField(this, 6, value);\n};\n\n\n/**\n * optional SqueakPeer peer = 7;\n * @return {?proto.squeaknode.SqueakPeer}\n */\nproto.squeaknode.OfferDisplayEntry.prototype.getPeer = function() {\n return /** @type{?proto.squeaknode.SqueakPeer} */ (\n jspb.Message.getWrapperField(this, proto.squeaknode.SqueakPeer, 7));\n};\n\n\n/** @param {?proto.squeaknode.SqueakPeer|undefined} value */\nproto.squeaknode.OfferDisplayEntry.prototype.setPeer = function(value) {\n jspb.Message.setWrapperField(this, 7, value);\n};\n\n\nproto.squeaknode.OfferDisplayEntry.prototype.clearPeer = function() {\n this.setPeer(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {!boolean}\n */\nproto.squeaknode.OfferDisplayEntry.prototype.hasPeer = function() {\n return jspb.Message.getField(this, 7) != null;\n};\n\n\n/**\n * optional int32 invoice_timestamp = 8;\n * @return {number}\n */\nproto.squeaknode.OfferDisplayEntry.prototype.getInvoiceTimestamp = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 8, 0));\n};\n\n\n/** @param {number} value */\nproto.squeaknode.OfferDisplayEntry.prototype.setInvoiceTimestamp = function(value) {\n jspb.Message.setField(this, 8, value);\n};\n\n\n/**\n * optional int32 invoice_expiry = 9;\n * @return {number}\n */\nproto.squeaknode.OfferDisplayEntry.prototype.getInvoiceExpiry = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 9, 0));\n};\n\n\n/** @param {number} value */\nproto.squeaknode.OfferDisplayEntry.prototype.setInvoiceExpiry = function(value) {\n jspb.Message.setField(this, 9, value);\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.squeaknode.SyncSqueaksRequest = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.squeaknode.SyncSqueaksRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.squeaknode.SyncSqueaksRequest.displayName = 'proto.squeaknode.SyncSqueaksRequest';\n}\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.squeaknode.SyncSqueaksRequest.prototype.toObject = function(opt_includeInstance) {\n return proto.squeaknode.SyncSqueaksRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.squeaknode.SyncSqueaksRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.SyncSqueaksRequest.toObject = function(includeInstance, msg) {\n var f, obj = {\n\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.squeaknode.SyncSqueaksRequest}\n */\nproto.squeaknode.SyncSqueaksRequest.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.squeaknode.SyncSqueaksRequest;\n return proto.squeaknode.SyncSqueaksRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.squeaknode.SyncSqueaksRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.squeaknode.SyncSqueaksRequest}\n */\nproto.squeaknode.SyncSqueaksRequest.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.squeaknode.SyncSqueaksRequest.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.squeaknode.SyncSqueaksRequest.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.squeaknode.SyncSqueaksRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.SyncSqueaksRequest.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.squeaknode.SyncSqueaksReply = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.squeaknode.SyncSqueaksReply, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.squeaknode.SyncSqueaksReply.displayName = 'proto.squeaknode.SyncSqueaksReply';\n}\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.squeaknode.SyncSqueaksReply.prototype.toObject = function(opt_includeInstance) {\n return proto.squeaknode.SyncSqueaksReply.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.squeaknode.SyncSqueaksReply} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.SyncSqueaksReply.toObject = function(includeInstance, msg) {\n var f, obj = {\n syncResult: (f = msg.getSyncResult()) && proto.squeaknode.SyncResult.toObject(includeInstance, f)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.squeaknode.SyncSqueaksReply}\n */\nproto.squeaknode.SyncSqueaksReply.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.squeaknode.SyncSqueaksReply;\n return proto.squeaknode.SyncSqueaksReply.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.squeaknode.SyncSqueaksReply} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.squeaknode.SyncSqueaksReply}\n */\nproto.squeaknode.SyncSqueaksReply.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = new proto.squeaknode.SyncResult;\n reader.readMessage(value,proto.squeaknode.SyncResult.deserializeBinaryFromReader);\n msg.setSyncResult(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.squeaknode.SyncSqueaksReply.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.squeaknode.SyncSqueaksReply.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.squeaknode.SyncSqueaksReply} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.SyncSqueaksReply.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getSyncResult();\n if (f != null) {\n writer.writeMessage(\n 1,\n f,\n proto.squeaknode.SyncResult.serializeBinaryToWriter\n );\n }\n};\n\n\n/**\n * optional SyncResult sync_result = 1;\n * @return {?proto.squeaknode.SyncResult}\n */\nproto.squeaknode.SyncSqueaksReply.prototype.getSyncResult = function() {\n return /** @type{?proto.squeaknode.SyncResult} */ (\n jspb.Message.getWrapperField(this, proto.squeaknode.SyncResult, 1));\n};\n\n\n/** @param {?proto.squeaknode.SyncResult|undefined} value */\nproto.squeaknode.SyncSqueaksReply.prototype.setSyncResult = function(value) {\n jspb.Message.setWrapperField(this, 1, value);\n};\n\n\nproto.squeaknode.SyncSqueaksReply.prototype.clearSyncResult = function() {\n this.setSyncResult(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {!boolean}\n */\nproto.squeaknode.SyncSqueaksReply.prototype.hasSyncResult = function() {\n return jspb.Message.getField(this, 1) != null;\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.squeaknode.PayOfferRequest = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.squeaknode.PayOfferRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.squeaknode.PayOfferRequest.displayName = 'proto.squeaknode.PayOfferRequest';\n}\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.squeaknode.PayOfferRequest.prototype.toObject = function(opt_includeInstance) {\n return proto.squeaknode.PayOfferRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.squeaknode.PayOfferRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.PayOfferRequest.toObject = function(includeInstance, msg) {\n var f, obj = {\n offerId: jspb.Message.getFieldWithDefault(msg, 1, 0)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.squeaknode.PayOfferRequest}\n */\nproto.squeaknode.PayOfferRequest.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.squeaknode.PayOfferRequest;\n return proto.squeaknode.PayOfferRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.squeaknode.PayOfferRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.squeaknode.PayOfferRequest}\n */\nproto.squeaknode.PayOfferRequest.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {number} */ (reader.readInt32());\n msg.setOfferId(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.squeaknode.PayOfferRequest.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.squeaknode.PayOfferRequest.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.squeaknode.PayOfferRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.PayOfferRequest.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getOfferId();\n if (f !== 0) {\n writer.writeInt32(\n 1,\n f\n );\n }\n};\n\n\n/**\n * optional int32 offer_id = 1;\n * @return {number}\n */\nproto.squeaknode.PayOfferRequest.prototype.getOfferId = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/** @param {number} value */\nproto.squeaknode.PayOfferRequest.prototype.setOfferId = function(value) {\n jspb.Message.setField(this, 1, value);\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.squeaknode.PayOfferReply = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.squeaknode.PayOfferReply, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.squeaknode.PayOfferReply.displayName = 'proto.squeaknode.PayOfferReply';\n}\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.squeaknode.PayOfferReply.prototype.toObject = function(opt_includeInstance) {\n return proto.squeaknode.PayOfferReply.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.squeaknode.PayOfferReply} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.PayOfferReply.toObject = function(includeInstance, msg) {\n var f, obj = {\n sentPaymentId: jspb.Message.getFieldWithDefault(msg, 1, 0)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.squeaknode.PayOfferReply}\n */\nproto.squeaknode.PayOfferReply.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.squeaknode.PayOfferReply;\n return proto.squeaknode.PayOfferReply.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.squeaknode.PayOfferReply} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.squeaknode.PayOfferReply}\n */\nproto.squeaknode.PayOfferReply.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {number} */ (reader.readInt32());\n msg.setSentPaymentId(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.squeaknode.PayOfferReply.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.squeaknode.PayOfferReply.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.squeaknode.PayOfferReply} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.PayOfferReply.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getSentPaymentId();\n if (f !== 0) {\n writer.writeInt32(\n 1,\n f\n );\n }\n};\n\n\n/**\n * optional int32 sent_payment_id = 1;\n * @return {number}\n */\nproto.squeaknode.PayOfferReply.prototype.getSentPaymentId = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/** @param {number} value */\nproto.squeaknode.PayOfferReply.prototype.setSentPaymentId = function(value) {\n jspb.Message.setField(this, 1, value);\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.squeaknode.GetSentPaymentsRequest = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.squeaknode.GetSentPaymentsRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.squeaknode.GetSentPaymentsRequest.displayName = 'proto.squeaknode.GetSentPaymentsRequest';\n}\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.squeaknode.GetSentPaymentsRequest.prototype.toObject = function(opt_includeInstance) {\n return proto.squeaknode.GetSentPaymentsRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.squeaknode.GetSentPaymentsRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.GetSentPaymentsRequest.toObject = function(includeInstance, msg) {\n var f, obj = {\n\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.squeaknode.GetSentPaymentsRequest}\n */\nproto.squeaknode.GetSentPaymentsRequest.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.squeaknode.GetSentPaymentsRequest;\n return proto.squeaknode.GetSentPaymentsRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.squeaknode.GetSentPaymentsRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.squeaknode.GetSentPaymentsRequest}\n */\nproto.squeaknode.GetSentPaymentsRequest.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.squeaknode.GetSentPaymentsRequest.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.squeaknode.GetSentPaymentsRequest.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.squeaknode.GetSentPaymentsRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.GetSentPaymentsRequest.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.squeaknode.GetSentPaymentsReply = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, proto.squeaknode.GetSentPaymentsReply.repeatedFields_, null);\n};\ngoog.inherits(proto.squeaknode.GetSentPaymentsReply, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.squeaknode.GetSentPaymentsReply.displayName = 'proto.squeaknode.GetSentPaymentsReply';\n}\n/**\n * List of repeated fields within this message type.\n * @private {!Array}\n * @const\n */\nproto.squeaknode.GetSentPaymentsReply.repeatedFields_ = [1];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.squeaknode.GetSentPaymentsReply.prototype.toObject = function(opt_includeInstance) {\n return proto.squeaknode.GetSentPaymentsReply.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.squeaknode.GetSentPaymentsReply} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.GetSentPaymentsReply.toObject = function(includeInstance, msg) {\n var f, obj = {\n sentPaymentsList: jspb.Message.toObjectList(msg.getSentPaymentsList(),\n proto.squeaknode.SentPayment.toObject, includeInstance)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.squeaknode.GetSentPaymentsReply}\n */\nproto.squeaknode.GetSentPaymentsReply.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.squeaknode.GetSentPaymentsReply;\n return proto.squeaknode.GetSentPaymentsReply.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.squeaknode.GetSentPaymentsReply} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.squeaknode.GetSentPaymentsReply}\n */\nproto.squeaknode.GetSentPaymentsReply.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = new proto.squeaknode.SentPayment;\n reader.readMessage(value,proto.squeaknode.SentPayment.deserializeBinaryFromReader);\n msg.addSentPayments(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.squeaknode.GetSentPaymentsReply.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.squeaknode.GetSentPaymentsReply.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.squeaknode.GetSentPaymentsReply} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.GetSentPaymentsReply.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getSentPaymentsList();\n if (f.length > 0) {\n writer.writeRepeatedMessage(\n 1,\n f,\n proto.squeaknode.SentPayment.serializeBinaryToWriter\n );\n }\n};\n\n\n/**\n * repeated SentPayment sent_payments = 1;\n * @return {!Array.}\n */\nproto.squeaknode.GetSentPaymentsReply.prototype.getSentPaymentsList = function() {\n return /** @type{!Array.} */ (\n jspb.Message.getRepeatedWrapperField(this, proto.squeaknode.SentPayment, 1));\n};\n\n\n/** @param {!Array.} value */\nproto.squeaknode.GetSentPaymentsReply.prototype.setSentPaymentsList = function(value) {\n jspb.Message.setRepeatedWrapperField(this, 1, value);\n};\n\n\n/**\n * @param {!proto.squeaknode.SentPayment=} opt_value\n * @param {number=} opt_index\n * @return {!proto.squeaknode.SentPayment}\n */\nproto.squeaknode.GetSentPaymentsReply.prototype.addSentPayments = function(opt_value, opt_index) {\n return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.squeaknode.SentPayment, opt_index);\n};\n\n\nproto.squeaknode.GetSentPaymentsReply.prototype.clearSentPaymentsList = function() {\n this.setSentPaymentsList([]);\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.squeaknode.GetSentPaymentRequest = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.squeaknode.GetSentPaymentRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.squeaknode.GetSentPaymentRequest.displayName = 'proto.squeaknode.GetSentPaymentRequest';\n}\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.squeaknode.GetSentPaymentRequest.prototype.toObject = function(opt_includeInstance) {\n return proto.squeaknode.GetSentPaymentRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.squeaknode.GetSentPaymentRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.GetSentPaymentRequest.toObject = function(includeInstance, msg) {\n var f, obj = {\n sentPaymentId: jspb.Message.getFieldWithDefault(msg, 1, 0)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.squeaknode.GetSentPaymentRequest}\n */\nproto.squeaknode.GetSentPaymentRequest.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.squeaknode.GetSentPaymentRequest;\n return proto.squeaknode.GetSentPaymentRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.squeaknode.GetSentPaymentRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.squeaknode.GetSentPaymentRequest}\n */\nproto.squeaknode.GetSentPaymentRequest.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {number} */ (reader.readInt32());\n msg.setSentPaymentId(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.squeaknode.GetSentPaymentRequest.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.squeaknode.GetSentPaymentRequest.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.squeaknode.GetSentPaymentRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.GetSentPaymentRequest.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getSentPaymentId();\n if (f !== 0) {\n writer.writeInt32(\n 1,\n f\n );\n }\n};\n\n\n/**\n * optional int32 sent_payment_id = 1;\n * @return {number}\n */\nproto.squeaknode.GetSentPaymentRequest.prototype.getSentPaymentId = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/** @param {number} value */\nproto.squeaknode.GetSentPaymentRequest.prototype.setSentPaymentId = function(value) {\n jspb.Message.setField(this, 1, value);\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.squeaknode.GetSentPaymentReply = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.squeaknode.GetSentPaymentReply, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.squeaknode.GetSentPaymentReply.displayName = 'proto.squeaknode.GetSentPaymentReply';\n}\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.squeaknode.GetSentPaymentReply.prototype.toObject = function(opt_includeInstance) {\n return proto.squeaknode.GetSentPaymentReply.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.squeaknode.GetSentPaymentReply} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.GetSentPaymentReply.toObject = function(includeInstance, msg) {\n var f, obj = {\n sentPayment: (f = msg.getSentPayment()) && proto.squeaknode.SentPayment.toObject(includeInstance, f)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.squeaknode.GetSentPaymentReply}\n */\nproto.squeaknode.GetSentPaymentReply.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.squeaknode.GetSentPaymentReply;\n return proto.squeaknode.GetSentPaymentReply.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.squeaknode.GetSentPaymentReply} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.squeaknode.GetSentPaymentReply}\n */\nproto.squeaknode.GetSentPaymentReply.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = new proto.squeaknode.SentPayment;\n reader.readMessage(value,proto.squeaknode.SentPayment.deserializeBinaryFromReader);\n msg.setSentPayment(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.squeaknode.GetSentPaymentReply.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.squeaknode.GetSentPaymentReply.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.squeaknode.GetSentPaymentReply} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.GetSentPaymentReply.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getSentPayment();\n if (f != null) {\n writer.writeMessage(\n 1,\n f,\n proto.squeaknode.SentPayment.serializeBinaryToWriter\n );\n }\n};\n\n\n/**\n * optional SentPayment sent_payment = 1;\n * @return {?proto.squeaknode.SentPayment}\n */\nproto.squeaknode.GetSentPaymentReply.prototype.getSentPayment = function() {\n return /** @type{?proto.squeaknode.SentPayment} */ (\n jspb.Message.getWrapperField(this, proto.squeaknode.SentPayment, 1));\n};\n\n\n/** @param {?proto.squeaknode.SentPayment|undefined} value */\nproto.squeaknode.GetSentPaymentReply.prototype.setSentPayment = function(value) {\n jspb.Message.setWrapperField(this, 1, value);\n};\n\n\nproto.squeaknode.GetSentPaymentReply.prototype.clearSentPayment = function() {\n this.setSentPayment(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {!boolean}\n */\nproto.squeaknode.GetSentPaymentReply.prototype.hasSentPayment = function() {\n return jspb.Message.getField(this, 1) != null;\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.squeaknode.SentPayment = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.squeaknode.SentPayment, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.squeaknode.SentPayment.displayName = 'proto.squeaknode.SentPayment';\n}\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.squeaknode.SentPayment.prototype.toObject = function(opt_includeInstance) {\n return proto.squeaknode.SentPayment.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.squeaknode.SentPayment} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.SentPayment.toObject = function(includeInstance, msg) {\n var f, obj = {\n sentPaymentId: jspb.Message.getFieldWithDefault(msg, 1, 0),\n peerId: jspb.Message.getFieldWithDefault(msg, 2, 0),\n peerName: jspb.Message.getFieldWithDefault(msg, 3, \"\"),\n squeakHash: jspb.Message.getFieldWithDefault(msg, 4, \"\"),\n paymentHash: jspb.Message.getFieldWithDefault(msg, 5, \"\"),\n secretKey: jspb.Message.getFieldWithDefault(msg, 6, \"\"),\n priceMsat: jspb.Message.getFieldWithDefault(msg, 7, 0),\n nodePubkey: jspb.Message.getFieldWithDefault(msg, 8, \"\"),\n timeMs: jspb.Message.getFieldWithDefault(msg, 9, 0)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.squeaknode.SentPayment}\n */\nproto.squeaknode.SentPayment.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.squeaknode.SentPayment;\n return proto.squeaknode.SentPayment.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.squeaknode.SentPayment} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.squeaknode.SentPayment}\n */\nproto.squeaknode.SentPayment.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {number} */ (reader.readInt32());\n msg.setSentPaymentId(value);\n break;\n case 2:\n var value = /** @type {number} */ (reader.readInt32());\n msg.setPeerId(value);\n break;\n case 3:\n var value = /** @type {string} */ (reader.readString());\n msg.setPeerName(value);\n break;\n case 4:\n var value = /** @type {string} */ (reader.readString());\n msg.setSqueakHash(value);\n break;\n case 5:\n var value = /** @type {string} */ (reader.readString());\n msg.setPaymentHash(value);\n break;\n case 6:\n var value = /** @type {string} */ (reader.readString());\n msg.setSecretKey(value);\n break;\n case 7:\n var value = /** @type {number} */ (reader.readInt64());\n msg.setPriceMsat(value);\n break;\n case 8:\n var value = /** @type {string} */ (reader.readString());\n msg.setNodePubkey(value);\n break;\n case 9:\n var value = /** @type {number} */ (reader.readInt64());\n msg.setTimeMs(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.squeaknode.SentPayment.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.squeaknode.SentPayment.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.squeaknode.SentPayment} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.SentPayment.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getSentPaymentId();\n if (f !== 0) {\n writer.writeInt32(\n 1,\n f\n );\n }\n f = message.getPeerId();\n if (f !== 0) {\n writer.writeInt32(\n 2,\n f\n );\n }\n f = message.getPeerName();\n if (f.length > 0) {\n writer.writeString(\n 3,\n f\n );\n }\n f = message.getSqueakHash();\n if (f.length > 0) {\n writer.writeString(\n 4,\n f\n );\n }\n f = message.getPaymentHash();\n if (f.length > 0) {\n writer.writeString(\n 5,\n f\n );\n }\n f = message.getSecretKey();\n if (f.length > 0) {\n writer.writeString(\n 6,\n f\n );\n }\n f = message.getPriceMsat();\n if (f !== 0) {\n writer.writeInt64(\n 7,\n f\n );\n }\n f = message.getNodePubkey();\n if (f.length > 0) {\n writer.writeString(\n 8,\n f\n );\n }\n f = message.getTimeMs();\n if (f !== 0) {\n writer.writeInt64(\n 9,\n f\n );\n }\n};\n\n\n/**\n * optional int32 sent_payment_id = 1;\n * @return {number}\n */\nproto.squeaknode.SentPayment.prototype.getSentPaymentId = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/** @param {number} value */\nproto.squeaknode.SentPayment.prototype.setSentPaymentId = function(value) {\n jspb.Message.setField(this, 1, value);\n};\n\n\n/**\n * optional int32 peer_id = 2;\n * @return {number}\n */\nproto.squeaknode.SentPayment.prototype.getPeerId = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));\n};\n\n\n/** @param {number} value */\nproto.squeaknode.SentPayment.prototype.setPeerId = function(value) {\n jspb.Message.setField(this, 2, value);\n};\n\n\n/**\n * optional string peer_name = 3;\n * @return {string}\n */\nproto.squeaknode.SentPayment.prototype.getPeerName = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/** @param {string} value */\nproto.squeaknode.SentPayment.prototype.setPeerName = function(value) {\n jspb.Message.setField(this, 3, value);\n};\n\n\n/**\n * optional string squeak_hash = 4;\n * @return {string}\n */\nproto.squeaknode.SentPayment.prototype.getSqueakHash = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"\"));\n};\n\n\n/** @param {string} value */\nproto.squeaknode.SentPayment.prototype.setSqueakHash = function(value) {\n jspb.Message.setField(this, 4, value);\n};\n\n\n/**\n * optional string payment_hash = 5;\n * @return {string}\n */\nproto.squeaknode.SentPayment.prototype.getPaymentHash = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, \"\"));\n};\n\n\n/** @param {string} value */\nproto.squeaknode.SentPayment.prototype.setPaymentHash = function(value) {\n jspb.Message.setField(this, 5, value);\n};\n\n\n/**\n * optional string secret_key = 6;\n * @return {string}\n */\nproto.squeaknode.SentPayment.prototype.getSecretKey = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 6, \"\"));\n};\n\n\n/** @param {string} value */\nproto.squeaknode.SentPayment.prototype.setSecretKey = function(value) {\n jspb.Message.setField(this, 6, value);\n};\n\n\n/**\n * optional int64 price_msat = 7;\n * @return {number}\n */\nproto.squeaknode.SentPayment.prototype.getPriceMsat = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 7, 0));\n};\n\n\n/** @param {number} value */\nproto.squeaknode.SentPayment.prototype.setPriceMsat = function(value) {\n jspb.Message.setField(this, 7, value);\n};\n\n\n/**\n * optional string node_pubkey = 8;\n * @return {string}\n */\nproto.squeaknode.SentPayment.prototype.getNodePubkey = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 8, \"\"));\n};\n\n\n/** @param {string} value */\nproto.squeaknode.SentPayment.prototype.setNodePubkey = function(value) {\n jspb.Message.setField(this, 8, value);\n};\n\n\n/**\n * optional int64 time_ms = 9;\n * @return {number}\n */\nproto.squeaknode.SentPayment.prototype.getTimeMs = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 9, 0));\n};\n\n\n/** @param {number} value */\nproto.squeaknode.SentPayment.prototype.setTimeMs = function(value) {\n jspb.Message.setField(this, 9, value);\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.squeaknode.SyncSqueakRequest = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.squeaknode.SyncSqueakRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.squeaknode.SyncSqueakRequest.displayName = 'proto.squeaknode.SyncSqueakRequest';\n}\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.squeaknode.SyncSqueakRequest.prototype.toObject = function(opt_includeInstance) {\n return proto.squeaknode.SyncSqueakRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.squeaknode.SyncSqueakRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.SyncSqueakRequest.toObject = function(includeInstance, msg) {\n var f, obj = {\n squeakHash: jspb.Message.getFieldWithDefault(msg, 1, \"\")\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.squeaknode.SyncSqueakRequest}\n */\nproto.squeaknode.SyncSqueakRequest.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.squeaknode.SyncSqueakRequest;\n return proto.squeaknode.SyncSqueakRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.squeaknode.SyncSqueakRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.squeaknode.SyncSqueakRequest}\n */\nproto.squeaknode.SyncSqueakRequest.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setSqueakHash(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.squeaknode.SyncSqueakRequest.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.squeaknode.SyncSqueakRequest.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.squeaknode.SyncSqueakRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.SyncSqueakRequest.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getSqueakHash();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n};\n\n\n/**\n * optional string squeak_hash = 1;\n * @return {string}\n */\nproto.squeaknode.SyncSqueakRequest.prototype.getSqueakHash = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/** @param {string} value */\nproto.squeaknode.SyncSqueakRequest.prototype.setSqueakHash = function(value) {\n jspb.Message.setField(this, 1, value);\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.squeaknode.SyncSqueakReply = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.squeaknode.SyncSqueakReply, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.squeaknode.SyncSqueakReply.displayName = 'proto.squeaknode.SyncSqueakReply';\n}\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.squeaknode.SyncSqueakReply.prototype.toObject = function(opt_includeInstance) {\n return proto.squeaknode.SyncSqueakReply.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.squeaknode.SyncSqueakReply} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.SyncSqueakReply.toObject = function(includeInstance, msg) {\n var f, obj = {\n syncResult: (f = msg.getSyncResult()) && proto.squeaknode.SyncResult.toObject(includeInstance, f)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.squeaknode.SyncSqueakReply}\n */\nproto.squeaknode.SyncSqueakReply.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.squeaknode.SyncSqueakReply;\n return proto.squeaknode.SyncSqueakReply.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.squeaknode.SyncSqueakReply} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.squeaknode.SyncSqueakReply}\n */\nproto.squeaknode.SyncSqueakReply.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = new proto.squeaknode.SyncResult;\n reader.readMessage(value,proto.squeaknode.SyncResult.deserializeBinaryFromReader);\n msg.setSyncResult(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.squeaknode.SyncSqueakReply.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.squeaknode.SyncSqueakReply.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.squeaknode.SyncSqueakReply} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.SyncSqueakReply.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getSyncResult();\n if (f != null) {\n writer.writeMessage(\n 1,\n f,\n proto.squeaknode.SyncResult.serializeBinaryToWriter\n );\n }\n};\n\n\n/**\n * optional SyncResult sync_result = 1;\n * @return {?proto.squeaknode.SyncResult}\n */\nproto.squeaknode.SyncSqueakReply.prototype.getSyncResult = function() {\n return /** @type{?proto.squeaknode.SyncResult} */ (\n jspb.Message.getWrapperField(this, proto.squeaknode.SyncResult, 1));\n};\n\n\n/** @param {?proto.squeaknode.SyncResult|undefined} value */\nproto.squeaknode.SyncSqueakReply.prototype.setSyncResult = function(value) {\n jspb.Message.setWrapperField(this, 1, value);\n};\n\n\nproto.squeaknode.SyncSqueakReply.prototype.clearSyncResult = function() {\n this.setSyncResult(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {!boolean}\n */\nproto.squeaknode.SyncSqueakReply.prototype.hasSyncResult = function() {\n return jspb.Message.getField(this, 1) != null;\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.squeaknode.SyncResult = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, proto.squeaknode.SyncResult.repeatedFields_, null);\n};\ngoog.inherits(proto.squeaknode.SyncResult, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.squeaknode.SyncResult.displayName = 'proto.squeaknode.SyncResult';\n}\n/**\n * List of repeated fields within this message type.\n * @private {!Array}\n * @const\n */\nproto.squeaknode.SyncResult.repeatedFields_ = [1,2,3];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.squeaknode.SyncResult.prototype.toObject = function(opt_includeInstance) {\n return proto.squeaknode.SyncResult.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.squeaknode.SyncResult} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.SyncResult.toObject = function(includeInstance, msg) {\n var f, obj = {\n completedPeerIdsList: jspb.Message.getRepeatedField(msg, 1),\n failedPeerIdsList: jspb.Message.getRepeatedField(msg, 2),\n timeoutPeerIdsList: jspb.Message.getRepeatedField(msg, 3)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.squeaknode.SyncResult}\n */\nproto.squeaknode.SyncResult.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.squeaknode.SyncResult;\n return proto.squeaknode.SyncResult.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.squeaknode.SyncResult} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.squeaknode.SyncResult}\n */\nproto.squeaknode.SyncResult.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {!Array.} */ (reader.readPackedInt32());\n msg.setCompletedPeerIdsList(value);\n break;\n case 2:\n var value = /** @type {!Array.} */ (reader.readPackedInt32());\n msg.setFailedPeerIdsList(value);\n break;\n case 3:\n var value = /** @type {!Array.} */ (reader.readPackedInt32());\n msg.setTimeoutPeerIdsList(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.squeaknode.SyncResult.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.squeaknode.SyncResult.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.squeaknode.SyncResult} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.SyncResult.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getCompletedPeerIdsList();\n if (f.length > 0) {\n writer.writePackedInt32(\n 1,\n f\n );\n }\n f = message.getFailedPeerIdsList();\n if (f.length > 0) {\n writer.writePackedInt32(\n 2,\n f\n );\n }\n f = message.getTimeoutPeerIdsList();\n if (f.length > 0) {\n writer.writePackedInt32(\n 3,\n f\n );\n }\n};\n\n\n/**\n * repeated int32 completed_peer_ids = 1;\n * @return {!Array.}\n */\nproto.squeaknode.SyncResult.prototype.getCompletedPeerIdsList = function() {\n return /** @type {!Array.} */ (jspb.Message.getRepeatedField(this, 1));\n};\n\n\n/** @param {!Array.} value */\nproto.squeaknode.SyncResult.prototype.setCompletedPeerIdsList = function(value) {\n jspb.Message.setField(this, 1, value || []);\n};\n\n\n/**\n * @param {!number} value\n * @param {number=} opt_index\n */\nproto.squeaknode.SyncResult.prototype.addCompletedPeerIds = function(value, opt_index) {\n jspb.Message.addToRepeatedField(this, 1, value, opt_index);\n};\n\n\nproto.squeaknode.SyncResult.prototype.clearCompletedPeerIdsList = function() {\n this.setCompletedPeerIdsList([]);\n};\n\n\n/**\n * repeated int32 failed_peer_ids = 2;\n * @return {!Array.}\n */\nproto.squeaknode.SyncResult.prototype.getFailedPeerIdsList = function() {\n return /** @type {!Array.} */ (jspb.Message.getRepeatedField(this, 2));\n};\n\n\n/** @param {!Array.} value */\nproto.squeaknode.SyncResult.prototype.setFailedPeerIdsList = function(value) {\n jspb.Message.setField(this, 2, value || []);\n};\n\n\n/**\n * @param {!number} value\n * @param {number=} opt_index\n */\nproto.squeaknode.SyncResult.prototype.addFailedPeerIds = function(value, opt_index) {\n jspb.Message.addToRepeatedField(this, 2, value, opt_index);\n};\n\n\nproto.squeaknode.SyncResult.prototype.clearFailedPeerIdsList = function() {\n this.setFailedPeerIdsList([]);\n};\n\n\n/**\n * repeated int32 timeout_peer_ids = 3;\n * @return {!Array.}\n */\nproto.squeaknode.SyncResult.prototype.getTimeoutPeerIdsList = function() {\n return /** @type {!Array.} */ (jspb.Message.getRepeatedField(this, 3));\n};\n\n\n/** @param {!Array.} value */\nproto.squeaknode.SyncResult.prototype.setTimeoutPeerIdsList = function(value) {\n jspb.Message.setField(this, 3, value || []);\n};\n\n\n/**\n * @param {!number} value\n * @param {number=} opt_index\n */\nproto.squeaknode.SyncResult.prototype.addTimeoutPeerIds = function(value, opt_index) {\n jspb.Message.addToRepeatedField(this, 3, value, opt_index);\n};\n\n\nproto.squeaknode.SyncResult.prototype.clearTimeoutPeerIdsList = function() {\n this.setTimeoutPeerIdsList([]);\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.squeaknode.GetSqueakDetailsRequest = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.squeaknode.GetSqueakDetailsRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.squeaknode.GetSqueakDetailsRequest.displayName = 'proto.squeaknode.GetSqueakDetailsRequest';\n}\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.squeaknode.GetSqueakDetailsRequest.prototype.toObject = function(opt_includeInstance) {\n return proto.squeaknode.GetSqueakDetailsRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.squeaknode.GetSqueakDetailsRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.GetSqueakDetailsRequest.toObject = function(includeInstance, msg) {\n var f, obj = {\n squeakHash: jspb.Message.getFieldWithDefault(msg, 1, \"\")\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.squeaknode.GetSqueakDetailsRequest}\n */\nproto.squeaknode.GetSqueakDetailsRequest.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.squeaknode.GetSqueakDetailsRequest;\n return proto.squeaknode.GetSqueakDetailsRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.squeaknode.GetSqueakDetailsRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.squeaknode.GetSqueakDetailsRequest}\n */\nproto.squeaknode.GetSqueakDetailsRequest.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setSqueakHash(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.squeaknode.GetSqueakDetailsRequest.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.squeaknode.GetSqueakDetailsRequest.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.squeaknode.GetSqueakDetailsRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.GetSqueakDetailsRequest.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getSqueakHash();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n};\n\n\n/**\n * optional string squeak_hash = 1;\n * @return {string}\n */\nproto.squeaknode.GetSqueakDetailsRequest.prototype.getSqueakHash = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/** @param {string} value */\nproto.squeaknode.GetSqueakDetailsRequest.prototype.setSqueakHash = function(value) {\n jspb.Message.setField(this, 1, value);\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.squeaknode.GetSqueakDetailsReply = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.squeaknode.GetSqueakDetailsReply, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.squeaknode.GetSqueakDetailsReply.displayName = 'proto.squeaknode.GetSqueakDetailsReply';\n}\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.squeaknode.GetSqueakDetailsReply.prototype.toObject = function(opt_includeInstance) {\n return proto.squeaknode.GetSqueakDetailsReply.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.squeaknode.GetSqueakDetailsReply} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.GetSqueakDetailsReply.toObject = function(includeInstance, msg) {\n var f, obj = {\n squeakDetailEntry: (f = msg.getSqueakDetailEntry()) && proto.squeaknode.SqueakDetailEntry.toObject(includeInstance, f)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.squeaknode.GetSqueakDetailsReply}\n */\nproto.squeaknode.GetSqueakDetailsReply.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.squeaknode.GetSqueakDetailsReply;\n return proto.squeaknode.GetSqueakDetailsReply.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.squeaknode.GetSqueakDetailsReply} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.squeaknode.GetSqueakDetailsReply}\n */\nproto.squeaknode.GetSqueakDetailsReply.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = new proto.squeaknode.SqueakDetailEntry;\n reader.readMessage(value,proto.squeaknode.SqueakDetailEntry.deserializeBinaryFromReader);\n msg.setSqueakDetailEntry(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.squeaknode.GetSqueakDetailsReply.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.squeaknode.GetSqueakDetailsReply.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.squeaknode.GetSqueakDetailsReply} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.GetSqueakDetailsReply.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getSqueakDetailEntry();\n if (f != null) {\n writer.writeMessage(\n 1,\n f,\n proto.squeaknode.SqueakDetailEntry.serializeBinaryToWriter\n );\n }\n};\n\n\n/**\n * optional SqueakDetailEntry squeak_detail_entry = 1;\n * @return {?proto.squeaknode.SqueakDetailEntry}\n */\nproto.squeaknode.GetSqueakDetailsReply.prototype.getSqueakDetailEntry = function() {\n return /** @type{?proto.squeaknode.SqueakDetailEntry} */ (\n jspb.Message.getWrapperField(this, proto.squeaknode.SqueakDetailEntry, 1));\n};\n\n\n/** @param {?proto.squeaknode.SqueakDetailEntry|undefined} value */\nproto.squeaknode.GetSqueakDetailsReply.prototype.setSqueakDetailEntry = function(value) {\n jspb.Message.setWrapperField(this, 1, value);\n};\n\n\nproto.squeaknode.GetSqueakDetailsReply.prototype.clearSqueakDetailEntry = function() {\n this.setSqueakDetailEntry(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {!boolean}\n */\nproto.squeaknode.GetSqueakDetailsReply.prototype.hasSqueakDetailEntry = function() {\n return jspb.Message.getField(this, 1) != null;\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.squeaknode.SqueakDetailEntry = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.squeaknode.SqueakDetailEntry, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.squeaknode.SqueakDetailEntry.displayName = 'proto.squeaknode.SqueakDetailEntry';\n}\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.squeaknode.SqueakDetailEntry.prototype.toObject = function(opt_includeInstance) {\n return proto.squeaknode.SqueakDetailEntry.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.squeaknode.SqueakDetailEntry} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.SqueakDetailEntry.toObject = function(includeInstance, msg) {\n var f, obj = {\n serializedSqueakHex: jspb.Message.getFieldWithDefault(msg, 1, \"\")\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.squeaknode.SqueakDetailEntry}\n */\nproto.squeaknode.SqueakDetailEntry.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.squeaknode.SqueakDetailEntry;\n return proto.squeaknode.SqueakDetailEntry.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.squeaknode.SqueakDetailEntry} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.squeaknode.SqueakDetailEntry}\n */\nproto.squeaknode.SqueakDetailEntry.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setSerializedSqueakHex(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.squeaknode.SqueakDetailEntry.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.squeaknode.SqueakDetailEntry.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.squeaknode.SqueakDetailEntry} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.SqueakDetailEntry.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getSerializedSqueakHex();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n};\n\n\n/**\n * optional string serialized_squeak_hex = 1;\n * @return {string}\n */\nproto.squeaknode.SqueakDetailEntry.prototype.getSerializedSqueakHex = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/** @param {string} value */\nproto.squeaknode.SqueakDetailEntry.prototype.setSerializedSqueakHex = function(value) {\n jspb.Message.setField(this, 1, value);\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.squeaknode.GetSentOffersRequest = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.squeaknode.GetSentOffersRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.squeaknode.GetSentOffersRequest.displayName = 'proto.squeaknode.GetSentOffersRequest';\n}\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.squeaknode.GetSentOffersRequest.prototype.toObject = function(opt_includeInstance) {\n return proto.squeaknode.GetSentOffersRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.squeaknode.GetSentOffersRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.GetSentOffersRequest.toObject = function(includeInstance, msg) {\n var f, obj = {\n\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.squeaknode.GetSentOffersRequest}\n */\nproto.squeaknode.GetSentOffersRequest.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.squeaknode.GetSentOffersRequest;\n return proto.squeaknode.GetSentOffersRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.squeaknode.GetSentOffersRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.squeaknode.GetSentOffersRequest}\n */\nproto.squeaknode.GetSentOffersRequest.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.squeaknode.GetSentOffersRequest.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.squeaknode.GetSentOffersRequest.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.squeaknode.GetSentOffersRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.GetSentOffersRequest.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.squeaknode.GetSentOffersReply = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, proto.squeaknode.GetSentOffersReply.repeatedFields_, null);\n};\ngoog.inherits(proto.squeaknode.GetSentOffersReply, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.squeaknode.GetSentOffersReply.displayName = 'proto.squeaknode.GetSentOffersReply';\n}\n/**\n * List of repeated fields within this message type.\n * @private {!Array}\n * @const\n */\nproto.squeaknode.GetSentOffersReply.repeatedFields_ = [1];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.squeaknode.GetSentOffersReply.prototype.toObject = function(opt_includeInstance) {\n return proto.squeaknode.GetSentOffersReply.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.squeaknode.GetSentOffersReply} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.GetSentOffersReply.toObject = function(includeInstance, msg) {\n var f, obj = {\n sentOffersList: jspb.Message.toObjectList(msg.getSentOffersList(),\n proto.squeaknode.SentOffer.toObject, includeInstance)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.squeaknode.GetSentOffersReply}\n */\nproto.squeaknode.GetSentOffersReply.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.squeaknode.GetSentOffersReply;\n return proto.squeaknode.GetSentOffersReply.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.squeaknode.GetSentOffersReply} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.squeaknode.GetSentOffersReply}\n */\nproto.squeaknode.GetSentOffersReply.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = new proto.squeaknode.SentOffer;\n reader.readMessage(value,proto.squeaknode.SentOffer.deserializeBinaryFromReader);\n msg.addSentOffers(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.squeaknode.GetSentOffersReply.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.squeaknode.GetSentOffersReply.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.squeaknode.GetSentOffersReply} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.GetSentOffersReply.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getSentOffersList();\n if (f.length > 0) {\n writer.writeRepeatedMessage(\n 1,\n f,\n proto.squeaknode.SentOffer.serializeBinaryToWriter\n );\n }\n};\n\n\n/**\n * repeated SentOffer sent_offers = 1;\n * @return {!Array.}\n */\nproto.squeaknode.GetSentOffersReply.prototype.getSentOffersList = function() {\n return /** @type{!Array.} */ (\n jspb.Message.getRepeatedWrapperField(this, proto.squeaknode.SentOffer, 1));\n};\n\n\n/** @param {!Array.} value */\nproto.squeaknode.GetSentOffersReply.prototype.setSentOffersList = function(value) {\n jspb.Message.setRepeatedWrapperField(this, 1, value);\n};\n\n\n/**\n * @param {!proto.squeaknode.SentOffer=} opt_value\n * @param {number=} opt_index\n * @return {!proto.squeaknode.SentOffer}\n */\nproto.squeaknode.GetSentOffersReply.prototype.addSentOffers = function(opt_value, opt_index) {\n return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.squeaknode.SentOffer, opt_index);\n};\n\n\nproto.squeaknode.GetSentOffersReply.prototype.clearSentOffersList = function() {\n this.setSentOffersList([]);\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.squeaknode.SentOffer = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.squeaknode.SentOffer, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.squeaknode.SentOffer.displayName = 'proto.squeaknode.SentOffer';\n}\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.squeaknode.SentOffer.prototype.toObject = function(opt_includeInstance) {\n return proto.squeaknode.SentOffer.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.squeaknode.SentOffer} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.SentOffer.toObject = function(includeInstance, msg) {\n var f, obj = {\n sentOfferId: jspb.Message.getFieldWithDefault(msg, 1, 0),\n squeakHash: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n paymentHash: jspb.Message.getFieldWithDefault(msg, 3, \"\"),\n secretKey: jspb.Message.getFieldWithDefault(msg, 4, \"\"),\n nonce: jspb.Message.getFieldWithDefault(msg, 5, \"\"),\n priceMsat: jspb.Message.getFieldWithDefault(msg, 6, 0)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.squeaknode.SentOffer}\n */\nproto.squeaknode.SentOffer.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.squeaknode.SentOffer;\n return proto.squeaknode.SentOffer.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.squeaknode.SentOffer} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.squeaknode.SentOffer}\n */\nproto.squeaknode.SentOffer.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {number} */ (reader.readInt32());\n msg.setSentOfferId(value);\n break;\n case 2:\n var value = /** @type {string} */ (reader.readString());\n msg.setSqueakHash(value);\n break;\n case 3:\n var value = /** @type {string} */ (reader.readString());\n msg.setPaymentHash(value);\n break;\n case 4:\n var value = /** @type {string} */ (reader.readString());\n msg.setSecretKey(value);\n break;\n case 5:\n var value = /** @type {string} */ (reader.readString());\n msg.setNonce(value);\n break;\n case 6:\n var value = /** @type {number} */ (reader.readInt64());\n msg.setPriceMsat(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.squeaknode.SentOffer.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.squeaknode.SentOffer.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.squeaknode.SentOffer} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.SentOffer.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getSentOfferId();\n if (f !== 0) {\n writer.writeInt32(\n 1,\n f\n );\n }\n f = message.getSqueakHash();\n if (f.length > 0) {\n writer.writeString(\n 2,\n f\n );\n }\n f = message.getPaymentHash();\n if (f.length > 0) {\n writer.writeString(\n 3,\n f\n );\n }\n f = message.getSecretKey();\n if (f.length > 0) {\n writer.writeString(\n 4,\n f\n );\n }\n f = message.getNonce();\n if (f.length > 0) {\n writer.writeString(\n 5,\n f\n );\n }\n f = message.getPriceMsat();\n if (f !== 0) {\n writer.writeInt64(\n 6,\n f\n );\n }\n};\n\n\n/**\n * optional int32 sent_offer_id = 1;\n * @return {number}\n */\nproto.squeaknode.SentOffer.prototype.getSentOfferId = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/** @param {number} value */\nproto.squeaknode.SentOffer.prototype.setSentOfferId = function(value) {\n jspb.Message.setField(this, 1, value);\n};\n\n\n/**\n * optional string squeak_hash = 2;\n * @return {string}\n */\nproto.squeaknode.SentOffer.prototype.getSqueakHash = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/** @param {string} value */\nproto.squeaknode.SentOffer.prototype.setSqueakHash = function(value) {\n jspb.Message.setField(this, 2, value);\n};\n\n\n/**\n * optional string payment_hash = 3;\n * @return {string}\n */\nproto.squeaknode.SentOffer.prototype.getPaymentHash = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/** @param {string} value */\nproto.squeaknode.SentOffer.prototype.setPaymentHash = function(value) {\n jspb.Message.setField(this, 3, value);\n};\n\n\n/**\n * optional string secret_key = 4;\n * @return {string}\n */\nproto.squeaknode.SentOffer.prototype.getSecretKey = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"\"));\n};\n\n\n/** @param {string} value */\nproto.squeaknode.SentOffer.prototype.setSecretKey = function(value) {\n jspb.Message.setField(this, 4, value);\n};\n\n\n/**\n * optional string nonce = 5;\n * @return {string}\n */\nproto.squeaknode.SentOffer.prototype.getNonce = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, \"\"));\n};\n\n\n/** @param {string} value */\nproto.squeaknode.SentOffer.prototype.setNonce = function(value) {\n jspb.Message.setField(this, 5, value);\n};\n\n\n/**\n * optional int64 price_msat = 6;\n * @return {number}\n */\nproto.squeaknode.SentOffer.prototype.getPriceMsat = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 6, 0));\n};\n\n\n/** @param {number} value */\nproto.squeaknode.SentOffer.prototype.setPriceMsat = function(value) {\n jspb.Message.setField(this, 6, value);\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.squeaknode.GetReceivedPaymentsRequest = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.squeaknode.GetReceivedPaymentsRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.squeaknode.GetReceivedPaymentsRequest.displayName = 'proto.squeaknode.GetReceivedPaymentsRequest';\n}\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.squeaknode.GetReceivedPaymentsRequest.prototype.toObject = function(opt_includeInstance) {\n return proto.squeaknode.GetReceivedPaymentsRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.squeaknode.GetReceivedPaymentsRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.GetReceivedPaymentsRequest.toObject = function(includeInstance, msg) {\n var f, obj = {\n\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.squeaknode.GetReceivedPaymentsRequest}\n */\nproto.squeaknode.GetReceivedPaymentsRequest.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.squeaknode.GetReceivedPaymentsRequest;\n return proto.squeaknode.GetReceivedPaymentsRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.squeaknode.GetReceivedPaymentsRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.squeaknode.GetReceivedPaymentsRequest}\n */\nproto.squeaknode.GetReceivedPaymentsRequest.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.squeaknode.GetReceivedPaymentsRequest.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.squeaknode.GetReceivedPaymentsRequest.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.squeaknode.GetReceivedPaymentsRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.GetReceivedPaymentsRequest.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.squeaknode.GetReceivedPaymentsReply = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, proto.squeaknode.GetReceivedPaymentsReply.repeatedFields_, null);\n};\ngoog.inherits(proto.squeaknode.GetReceivedPaymentsReply, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.squeaknode.GetReceivedPaymentsReply.displayName = 'proto.squeaknode.GetReceivedPaymentsReply';\n}\n/**\n * List of repeated fields within this message type.\n * @private {!Array}\n * @const\n */\nproto.squeaknode.GetReceivedPaymentsReply.repeatedFields_ = [1];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.squeaknode.GetReceivedPaymentsReply.prototype.toObject = function(opt_includeInstance) {\n return proto.squeaknode.GetReceivedPaymentsReply.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.squeaknode.GetReceivedPaymentsReply} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.GetReceivedPaymentsReply.toObject = function(includeInstance, msg) {\n var f, obj = {\n receivedPaymentsList: jspb.Message.toObjectList(msg.getReceivedPaymentsList(),\n proto.squeaknode.ReceivedPayment.toObject, includeInstance)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.squeaknode.GetReceivedPaymentsReply}\n */\nproto.squeaknode.GetReceivedPaymentsReply.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.squeaknode.GetReceivedPaymentsReply;\n return proto.squeaknode.GetReceivedPaymentsReply.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.squeaknode.GetReceivedPaymentsReply} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.squeaknode.GetReceivedPaymentsReply}\n */\nproto.squeaknode.GetReceivedPaymentsReply.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = new proto.squeaknode.ReceivedPayment;\n reader.readMessage(value,proto.squeaknode.ReceivedPayment.deserializeBinaryFromReader);\n msg.addReceivedPayments(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.squeaknode.GetReceivedPaymentsReply.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.squeaknode.GetReceivedPaymentsReply.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.squeaknode.GetReceivedPaymentsReply} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.GetReceivedPaymentsReply.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getReceivedPaymentsList();\n if (f.length > 0) {\n writer.writeRepeatedMessage(\n 1,\n f,\n proto.squeaknode.ReceivedPayment.serializeBinaryToWriter\n );\n }\n};\n\n\n/**\n * repeated ReceivedPayment received_payments = 1;\n * @return {!Array.}\n */\nproto.squeaknode.GetReceivedPaymentsReply.prototype.getReceivedPaymentsList = function() {\n return /** @type{!Array.} */ (\n jspb.Message.getRepeatedWrapperField(this, proto.squeaknode.ReceivedPayment, 1));\n};\n\n\n/** @param {!Array.} value */\nproto.squeaknode.GetReceivedPaymentsReply.prototype.setReceivedPaymentsList = function(value) {\n jspb.Message.setRepeatedWrapperField(this, 1, value);\n};\n\n\n/**\n * @param {!proto.squeaknode.ReceivedPayment=} opt_value\n * @param {number=} opt_index\n * @return {!proto.squeaknode.ReceivedPayment}\n */\nproto.squeaknode.GetReceivedPaymentsReply.prototype.addReceivedPayments = function(opt_value, opt_index) {\n return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.squeaknode.ReceivedPayment, opt_index);\n};\n\n\nproto.squeaknode.GetReceivedPaymentsReply.prototype.clearReceivedPaymentsList = function() {\n this.setReceivedPaymentsList([]);\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.squeaknode.ReceivedPayment = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.squeaknode.ReceivedPayment, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.squeaknode.ReceivedPayment.displayName = 'proto.squeaknode.ReceivedPayment';\n}\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.squeaknode.ReceivedPayment.prototype.toObject = function(opt_includeInstance) {\n return proto.squeaknode.ReceivedPayment.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.squeaknode.ReceivedPayment} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.ReceivedPayment.toObject = function(includeInstance, msg) {\n var f, obj = {\n receivedPaymentId: jspb.Message.getFieldWithDefault(msg, 1, 0),\n squeakHash: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n paymentHash: jspb.Message.getFieldWithDefault(msg, 3, \"\"),\n priceMsat: jspb.Message.getFieldWithDefault(msg, 4, 0),\n paymentTimeMs: jspb.Message.getFieldWithDefault(msg, 5, 0),\n clientAddr: jspb.Message.getFieldWithDefault(msg, 6, \"\")\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.squeaknode.ReceivedPayment}\n */\nproto.squeaknode.ReceivedPayment.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.squeaknode.ReceivedPayment;\n return proto.squeaknode.ReceivedPayment.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.squeaknode.ReceivedPayment} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.squeaknode.ReceivedPayment}\n */\nproto.squeaknode.ReceivedPayment.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {number} */ (reader.readInt32());\n msg.setReceivedPaymentId(value);\n break;\n case 2:\n var value = /** @type {string} */ (reader.readString());\n msg.setSqueakHash(value);\n break;\n case 3:\n var value = /** @type {string} */ (reader.readString());\n msg.setPaymentHash(value);\n break;\n case 4:\n var value = /** @type {number} */ (reader.readInt64());\n msg.setPriceMsat(value);\n break;\n case 5:\n var value = /** @type {number} */ (reader.readInt64());\n msg.setPaymentTimeMs(value);\n break;\n case 6:\n var value = /** @type {string} */ (reader.readString());\n msg.setClientAddr(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.squeaknode.ReceivedPayment.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.squeaknode.ReceivedPayment.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.squeaknode.ReceivedPayment} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.ReceivedPayment.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getReceivedPaymentId();\n if (f !== 0) {\n writer.writeInt32(\n 1,\n f\n );\n }\n f = message.getSqueakHash();\n if (f.length > 0) {\n writer.writeString(\n 2,\n f\n );\n }\n f = message.getPaymentHash();\n if (f.length > 0) {\n writer.writeString(\n 3,\n f\n );\n }\n f = message.getPriceMsat();\n if (f !== 0) {\n writer.writeInt64(\n 4,\n f\n );\n }\n f = message.getPaymentTimeMs();\n if (f !== 0) {\n writer.writeInt64(\n 5,\n f\n );\n }\n f = message.getClientAddr();\n if (f.length > 0) {\n writer.writeString(\n 6,\n f\n );\n }\n};\n\n\n/**\n * optional int32 received_payment_id = 1;\n * @return {number}\n */\nproto.squeaknode.ReceivedPayment.prototype.getReceivedPaymentId = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/** @param {number} value */\nproto.squeaknode.ReceivedPayment.prototype.setReceivedPaymentId = function(value) {\n jspb.Message.setField(this, 1, value);\n};\n\n\n/**\n * optional string squeak_hash = 2;\n * @return {string}\n */\nproto.squeaknode.ReceivedPayment.prototype.getSqueakHash = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/** @param {string} value */\nproto.squeaknode.ReceivedPayment.prototype.setSqueakHash = function(value) {\n jspb.Message.setField(this, 2, value);\n};\n\n\n/**\n * optional string payment_hash = 3;\n * @return {string}\n */\nproto.squeaknode.ReceivedPayment.prototype.getPaymentHash = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/** @param {string} value */\nproto.squeaknode.ReceivedPayment.prototype.setPaymentHash = function(value) {\n jspb.Message.setField(this, 3, value);\n};\n\n\n/**\n * optional int64 price_msat = 4;\n * @return {number}\n */\nproto.squeaknode.ReceivedPayment.prototype.getPriceMsat = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0));\n};\n\n\n/** @param {number} value */\nproto.squeaknode.ReceivedPayment.prototype.setPriceMsat = function(value) {\n jspb.Message.setField(this, 4, value);\n};\n\n\n/**\n * optional int64 payment_time_ms = 5;\n * @return {number}\n */\nproto.squeaknode.ReceivedPayment.prototype.getPaymentTimeMs = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 5, 0));\n};\n\n\n/** @param {number} value */\nproto.squeaknode.ReceivedPayment.prototype.setPaymentTimeMs = function(value) {\n jspb.Message.setField(this, 5, value);\n};\n\n\n/**\n * optional string client_addr = 6;\n * @return {string}\n */\nproto.squeaknode.ReceivedPayment.prototype.getClientAddr = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 6, \"\"));\n};\n\n\n/** @param {string} value */\nproto.squeaknode.ReceivedPayment.prototype.setClientAddr = function(value) {\n jspb.Message.setField(this, 6, value);\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.squeaknode.SubscribeReceivedPaymentsRequest = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.squeaknode.SubscribeReceivedPaymentsRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.squeaknode.SubscribeReceivedPaymentsRequest.displayName = 'proto.squeaknode.SubscribeReceivedPaymentsRequest';\n}\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.squeaknode.SubscribeReceivedPaymentsRequest.prototype.toObject = function(opt_includeInstance) {\n return proto.squeaknode.SubscribeReceivedPaymentsRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.squeaknode.SubscribeReceivedPaymentsRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.SubscribeReceivedPaymentsRequest.toObject = function(includeInstance, msg) {\n var f, obj = {\n paymentIndex: jspb.Message.getFieldWithDefault(msg, 1, 0)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.squeaknode.SubscribeReceivedPaymentsRequest}\n */\nproto.squeaknode.SubscribeReceivedPaymentsRequest.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.squeaknode.SubscribeReceivedPaymentsRequest;\n return proto.squeaknode.SubscribeReceivedPaymentsRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.squeaknode.SubscribeReceivedPaymentsRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.squeaknode.SubscribeReceivedPaymentsRequest}\n */\nproto.squeaknode.SubscribeReceivedPaymentsRequest.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {number} */ (reader.readInt64());\n msg.setPaymentIndex(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.squeaknode.SubscribeReceivedPaymentsRequest.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.squeaknode.SubscribeReceivedPaymentsRequest.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.squeaknode.SubscribeReceivedPaymentsRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.SubscribeReceivedPaymentsRequest.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getPaymentIndex();\n if (f !== 0) {\n writer.writeInt64(\n 1,\n f\n );\n }\n};\n\n\n/**\n * optional int64 payment_index = 1;\n * @return {number}\n */\nproto.squeaknode.SubscribeReceivedPaymentsRequest.prototype.getPaymentIndex = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/** @param {number} value */\nproto.squeaknode.SubscribeReceivedPaymentsRequest.prototype.setPaymentIndex = function(value) {\n jspb.Message.setField(this, 1, value);\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.squeaknode.GetNetworkRequest = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.squeaknode.GetNetworkRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.squeaknode.GetNetworkRequest.displayName = 'proto.squeaknode.GetNetworkRequest';\n}\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.squeaknode.GetNetworkRequest.prototype.toObject = function(opt_includeInstance) {\n return proto.squeaknode.GetNetworkRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.squeaknode.GetNetworkRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.GetNetworkRequest.toObject = function(includeInstance, msg) {\n var f, obj = {\n\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.squeaknode.GetNetworkRequest}\n */\nproto.squeaknode.GetNetworkRequest.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.squeaknode.GetNetworkRequest;\n return proto.squeaknode.GetNetworkRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.squeaknode.GetNetworkRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.squeaknode.GetNetworkRequest}\n */\nproto.squeaknode.GetNetworkRequest.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.squeaknode.GetNetworkRequest.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.squeaknode.GetNetworkRequest.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.squeaknode.GetNetworkRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.GetNetworkRequest.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.squeaknode.GetNetworkReply = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.squeaknode.GetNetworkReply, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.squeaknode.GetNetworkReply.displayName = 'proto.squeaknode.GetNetworkReply';\n}\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.squeaknode.GetNetworkReply.prototype.toObject = function(opt_includeInstance) {\n return proto.squeaknode.GetNetworkReply.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.squeaknode.GetNetworkReply} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.GetNetworkReply.toObject = function(includeInstance, msg) {\n var f, obj = {\n network: jspb.Message.getFieldWithDefault(msg, 1, \"\")\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.squeaknode.GetNetworkReply}\n */\nproto.squeaknode.GetNetworkReply.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.squeaknode.GetNetworkReply;\n return proto.squeaknode.GetNetworkReply.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.squeaknode.GetNetworkReply} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.squeaknode.GetNetworkReply}\n */\nproto.squeaknode.GetNetworkReply.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setNetwork(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.squeaknode.GetNetworkReply.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.squeaknode.GetNetworkReply.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.squeaknode.GetNetworkReply} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.squeaknode.GetNetworkReply.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getNetwork();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n};\n\n\n/**\n * optional string network = 1;\n * @return {string}\n */\nproto.squeaknode.GetNetworkReply.prototype.getNetwork = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/** @param {string} value */\nproto.squeaknode.GetNetworkReply.prototype.setNetwork = function(value) {\n jspb.Message.setField(this, 1, value);\n};\n\n\ngoog.object.extend(exports, proto.squeaknode);\n","/* eslint-disable */\n/**\n * @fileoverview\n * @enhanceable\n * @suppress {messageConventions} JS Compiler reports an error if a variable or\n * field starts with 'MSG_' and isn't a translatable message.\n * @public\n */\n// GENERATED CODE -- DO NOT EDIT!\n\nvar jspb = require('google-protobuf');\nvar goog = jspb;\nvar global = Function('return this')();\n\ngoog.exportSymbol('proto.lnrpc.AbandonChannelRequest', null, global);\ngoog.exportSymbol('proto.lnrpc.AbandonChannelResponse', null, global);\ngoog.exportSymbol('proto.lnrpc.AddInvoiceResponse', null, global);\ngoog.exportSymbol('proto.lnrpc.AddressType', null, global);\ngoog.exportSymbol('proto.lnrpc.BakeMacaroonRequest', null, global);\ngoog.exportSymbol('proto.lnrpc.BakeMacaroonResponse', null, global);\ngoog.exportSymbol('proto.lnrpc.Chain', null, global);\ngoog.exportSymbol('proto.lnrpc.ChanBackupExportRequest', null, global);\ngoog.exportSymbol('proto.lnrpc.ChanBackupSnapshot', null, global);\ngoog.exportSymbol('proto.lnrpc.ChanInfoRequest', null, global);\ngoog.exportSymbol('proto.lnrpc.ChanPointShim', null, global);\ngoog.exportSymbol('proto.lnrpc.Channel', null, global);\ngoog.exportSymbol('proto.lnrpc.ChannelAcceptRequest', null, global);\ngoog.exportSymbol('proto.lnrpc.ChannelAcceptResponse', null, global);\ngoog.exportSymbol('proto.lnrpc.ChannelBackup', null, global);\ngoog.exportSymbol('proto.lnrpc.ChannelBackupSubscription', null, global);\ngoog.exportSymbol('proto.lnrpc.ChannelBackups', null, global);\ngoog.exportSymbol('proto.lnrpc.ChannelBalanceRequest', null, global);\ngoog.exportSymbol('proto.lnrpc.ChannelBalanceResponse', null, global);\ngoog.exportSymbol('proto.lnrpc.ChannelCloseSummary', null, global);\ngoog.exportSymbol('proto.lnrpc.ChannelCloseSummary.ClosureType', null, global);\ngoog.exportSymbol('proto.lnrpc.ChannelCloseUpdate', null, global);\ngoog.exportSymbol('proto.lnrpc.ChannelConstraints', null, global);\ngoog.exportSymbol('proto.lnrpc.ChannelEdge', null, global);\ngoog.exportSymbol('proto.lnrpc.ChannelEdgeUpdate', null, global);\ngoog.exportSymbol('proto.lnrpc.ChannelEventSubscription', null, global);\ngoog.exportSymbol('proto.lnrpc.ChannelEventUpdate', null, global);\ngoog.exportSymbol('proto.lnrpc.ChannelEventUpdate.UpdateType', null, global);\ngoog.exportSymbol('proto.lnrpc.ChannelFeeReport', null, global);\ngoog.exportSymbol('proto.lnrpc.ChannelGraph', null, global);\ngoog.exportSymbol('proto.lnrpc.ChannelGraphRequest', null, global);\ngoog.exportSymbol('proto.lnrpc.ChannelOpenUpdate', null, global);\ngoog.exportSymbol('proto.lnrpc.ChannelPoint', null, global);\ngoog.exportSymbol('proto.lnrpc.ChannelUpdate', null, global);\ngoog.exportSymbol('proto.lnrpc.CloseChannelRequest', null, global);\ngoog.exportSymbol('proto.lnrpc.CloseStatusUpdate', null, global);\ngoog.exportSymbol('proto.lnrpc.ClosedChannelUpdate', null, global);\ngoog.exportSymbol('proto.lnrpc.ClosedChannelsRequest', null, global);\ngoog.exportSymbol('proto.lnrpc.ClosedChannelsResponse', null, global);\ngoog.exportSymbol('proto.lnrpc.CommitmentType', null, global);\ngoog.exportSymbol('proto.lnrpc.ConfirmationUpdate', null, global);\ngoog.exportSymbol('proto.lnrpc.ConnectPeerRequest', null, global);\ngoog.exportSymbol('proto.lnrpc.ConnectPeerResponse', null, global);\ngoog.exportSymbol('proto.lnrpc.DebugLevelRequest', null, global);\ngoog.exportSymbol('proto.lnrpc.DebugLevelResponse', null, global);\ngoog.exportSymbol('proto.lnrpc.DeleteAllPaymentsRequest', null, global);\ngoog.exportSymbol('proto.lnrpc.DeleteAllPaymentsResponse', null, global);\ngoog.exportSymbol('proto.lnrpc.DisconnectPeerRequest', null, global);\ngoog.exportSymbol('proto.lnrpc.DisconnectPeerResponse', null, global);\ngoog.exportSymbol('proto.lnrpc.EdgeLocator', null, global);\ngoog.exportSymbol('proto.lnrpc.EstimateFeeRequest', null, global);\ngoog.exportSymbol('proto.lnrpc.EstimateFeeResponse', null, global);\ngoog.exportSymbol('proto.lnrpc.ExportChannelBackupRequest', null, global);\ngoog.exportSymbol('proto.lnrpc.Failure', null, global);\ngoog.exportSymbol('proto.lnrpc.Failure.FailureCode', null, global);\ngoog.exportSymbol('proto.lnrpc.Feature', null, global);\ngoog.exportSymbol('proto.lnrpc.FeatureBit', null, global);\ngoog.exportSymbol('proto.lnrpc.FeeLimit', null, global);\ngoog.exportSymbol('proto.lnrpc.FeeReportRequest', null, global);\ngoog.exportSymbol('proto.lnrpc.FeeReportResponse', null, global);\ngoog.exportSymbol('proto.lnrpc.FloatMetric', null, global);\ngoog.exportSymbol('proto.lnrpc.ForwardingEvent', null, global);\ngoog.exportSymbol('proto.lnrpc.ForwardingHistoryRequest', null, global);\ngoog.exportSymbol('proto.lnrpc.ForwardingHistoryResponse', null, global);\ngoog.exportSymbol('proto.lnrpc.FundingPsbtFinalize', null, global);\ngoog.exportSymbol('proto.lnrpc.FundingPsbtVerify', null, global);\ngoog.exportSymbol('proto.lnrpc.FundingShim', null, global);\ngoog.exportSymbol('proto.lnrpc.FundingShimCancel', null, global);\ngoog.exportSymbol('proto.lnrpc.FundingStateStepResp', null, global);\ngoog.exportSymbol('proto.lnrpc.FundingTransitionMsg', null, global);\ngoog.exportSymbol('proto.lnrpc.GetInfoRequest', null, global);\ngoog.exportSymbol('proto.lnrpc.GetInfoResponse', null, global);\ngoog.exportSymbol('proto.lnrpc.GetRecoveryInfoRequest', null, global);\ngoog.exportSymbol('proto.lnrpc.GetRecoveryInfoResponse', null, global);\ngoog.exportSymbol('proto.lnrpc.GetTransactionsRequest', null, global);\ngoog.exportSymbol('proto.lnrpc.GraphTopologySubscription', null, global);\ngoog.exportSymbol('proto.lnrpc.GraphTopologyUpdate', null, global);\ngoog.exportSymbol('proto.lnrpc.HTLC', null, global);\ngoog.exportSymbol('proto.lnrpc.HTLCAttempt', null, global);\ngoog.exportSymbol('proto.lnrpc.HTLCAttempt.HTLCStatus', null, global);\ngoog.exportSymbol('proto.lnrpc.Hop', null, global);\ngoog.exportSymbol('proto.lnrpc.HopHint', null, global);\ngoog.exportSymbol('proto.lnrpc.Initiator', null, global);\ngoog.exportSymbol('proto.lnrpc.Invoice', null, global);\ngoog.exportSymbol('proto.lnrpc.Invoice.InvoiceState', null, global);\ngoog.exportSymbol('proto.lnrpc.InvoiceHTLC', null, global);\ngoog.exportSymbol('proto.lnrpc.InvoiceHTLCState', null, global);\ngoog.exportSymbol('proto.lnrpc.InvoiceSubscription', null, global);\ngoog.exportSymbol('proto.lnrpc.KeyDescriptor', null, global);\ngoog.exportSymbol('proto.lnrpc.KeyLocator', null, global);\ngoog.exportSymbol('proto.lnrpc.LightningAddress', null, global);\ngoog.exportSymbol('proto.lnrpc.LightningNode', null, global);\ngoog.exportSymbol('proto.lnrpc.ListChannelsRequest', null, global);\ngoog.exportSymbol('proto.lnrpc.ListChannelsResponse', null, global);\ngoog.exportSymbol('proto.lnrpc.ListInvoiceRequest', null, global);\ngoog.exportSymbol('proto.lnrpc.ListInvoiceResponse', null, global);\ngoog.exportSymbol('proto.lnrpc.ListPaymentsRequest', null, global);\ngoog.exportSymbol('proto.lnrpc.ListPaymentsResponse', null, global);\ngoog.exportSymbol('proto.lnrpc.ListPeersRequest', null, global);\ngoog.exportSymbol('proto.lnrpc.ListPeersResponse', null, global);\ngoog.exportSymbol('proto.lnrpc.ListUnspentRequest', null, global);\ngoog.exportSymbol('proto.lnrpc.ListUnspentResponse', null, global);\ngoog.exportSymbol('proto.lnrpc.MPPRecord', null, global);\ngoog.exportSymbol('proto.lnrpc.MacaroonPermission', null, global);\ngoog.exportSymbol('proto.lnrpc.MultiChanBackup', null, global);\ngoog.exportSymbol('proto.lnrpc.NetworkInfo', null, global);\ngoog.exportSymbol('proto.lnrpc.NetworkInfoRequest', null, global);\ngoog.exportSymbol('proto.lnrpc.NewAddressRequest', null, global);\ngoog.exportSymbol('proto.lnrpc.NewAddressResponse', null, global);\ngoog.exportSymbol('proto.lnrpc.NodeAddress', null, global);\ngoog.exportSymbol('proto.lnrpc.NodeInfo', null, global);\ngoog.exportSymbol('proto.lnrpc.NodeInfoRequest', null, global);\ngoog.exportSymbol('proto.lnrpc.NodeMetricType', null, global);\ngoog.exportSymbol('proto.lnrpc.NodeMetricsRequest', null, global);\ngoog.exportSymbol('proto.lnrpc.NodeMetricsResponse', null, global);\ngoog.exportSymbol('proto.lnrpc.NodePair', null, global);\ngoog.exportSymbol('proto.lnrpc.NodeUpdate', null, global);\ngoog.exportSymbol('proto.lnrpc.OpenChannelRequest', null, global);\ngoog.exportSymbol('proto.lnrpc.OpenStatusUpdate', null, global);\ngoog.exportSymbol('proto.lnrpc.OutPoint', null, global);\ngoog.exportSymbol('proto.lnrpc.PayReq', null, global);\ngoog.exportSymbol('proto.lnrpc.PayReqString', null, global);\ngoog.exportSymbol('proto.lnrpc.Payment', null, global);\ngoog.exportSymbol('proto.lnrpc.Payment.PaymentStatus', null, global);\ngoog.exportSymbol('proto.lnrpc.PaymentFailureReason', null, global);\ngoog.exportSymbol('proto.lnrpc.PaymentHash', null, global);\ngoog.exportSymbol('proto.lnrpc.Peer', null, global);\ngoog.exportSymbol('proto.lnrpc.Peer.SyncType', null, global);\ngoog.exportSymbol('proto.lnrpc.PeerEvent', null, global);\ngoog.exportSymbol('proto.lnrpc.PeerEvent.EventType', null, global);\ngoog.exportSymbol('proto.lnrpc.PeerEventSubscription', null, global);\ngoog.exportSymbol('proto.lnrpc.PendingChannelsRequest', null, global);\ngoog.exportSymbol('proto.lnrpc.PendingChannelsResponse', null, global);\ngoog.exportSymbol('proto.lnrpc.PendingChannelsResponse.ClosedChannel', null, global);\ngoog.exportSymbol('proto.lnrpc.PendingChannelsResponse.Commitments', null, global);\ngoog.exportSymbol('proto.lnrpc.PendingChannelsResponse.ForceClosedChannel', null, global);\ngoog.exportSymbol('proto.lnrpc.PendingChannelsResponse.ForceClosedChannel.AnchorState', null, global);\ngoog.exportSymbol('proto.lnrpc.PendingChannelsResponse.PendingChannel', null, global);\ngoog.exportSymbol('proto.lnrpc.PendingChannelsResponse.PendingOpenChannel', null, global);\ngoog.exportSymbol('proto.lnrpc.PendingChannelsResponse.WaitingCloseChannel', null, global);\ngoog.exportSymbol('proto.lnrpc.PendingHTLC', null, global);\ngoog.exportSymbol('proto.lnrpc.PendingUpdate', null, global);\ngoog.exportSymbol('proto.lnrpc.PolicyUpdateRequest', null, global);\ngoog.exportSymbol('proto.lnrpc.PolicyUpdateResponse', null, global);\ngoog.exportSymbol('proto.lnrpc.PsbtShim', null, global);\ngoog.exportSymbol('proto.lnrpc.QueryRoutesRequest', null, global);\ngoog.exportSymbol('proto.lnrpc.QueryRoutesResponse', null, global);\ngoog.exportSymbol('proto.lnrpc.ReadyForPsbtFunding', null, global);\ngoog.exportSymbol('proto.lnrpc.Resolution', null, global);\ngoog.exportSymbol('proto.lnrpc.ResolutionOutcome', null, global);\ngoog.exportSymbol('proto.lnrpc.ResolutionType', null, global);\ngoog.exportSymbol('proto.lnrpc.RestoreBackupResponse', null, global);\ngoog.exportSymbol('proto.lnrpc.RestoreChanBackupRequest', null, global);\ngoog.exportSymbol('proto.lnrpc.Route', null, global);\ngoog.exportSymbol('proto.lnrpc.RouteHint', null, global);\ngoog.exportSymbol('proto.lnrpc.RoutingPolicy', null, global);\ngoog.exportSymbol('proto.lnrpc.SendCoinsRequest', null, global);\ngoog.exportSymbol('proto.lnrpc.SendCoinsResponse', null, global);\ngoog.exportSymbol('proto.lnrpc.SendManyRequest', null, global);\ngoog.exportSymbol('proto.lnrpc.SendManyResponse', null, global);\ngoog.exportSymbol('proto.lnrpc.SendRequest', null, global);\ngoog.exportSymbol('proto.lnrpc.SendResponse', null, global);\ngoog.exportSymbol('proto.lnrpc.SendToRouteRequest', null, global);\ngoog.exportSymbol('proto.lnrpc.SignMessageRequest', null, global);\ngoog.exportSymbol('proto.lnrpc.SignMessageResponse', null, global);\ngoog.exportSymbol('proto.lnrpc.StopRequest', null, global);\ngoog.exportSymbol('proto.lnrpc.StopResponse', null, global);\ngoog.exportSymbol('proto.lnrpc.TimestampedError', null, global);\ngoog.exportSymbol('proto.lnrpc.Transaction', null, global);\ngoog.exportSymbol('proto.lnrpc.TransactionDetails', null, global);\ngoog.exportSymbol('proto.lnrpc.Utxo', null, global);\ngoog.exportSymbol('proto.lnrpc.VerifyChanBackupResponse', null, global);\ngoog.exportSymbol('proto.lnrpc.VerifyMessageRequest', null, global);\ngoog.exportSymbol('proto.lnrpc.VerifyMessageResponse', null, global);\ngoog.exportSymbol('proto.lnrpc.WalletBalanceRequest', null, global);\ngoog.exportSymbol('proto.lnrpc.WalletBalanceResponse', null, global);\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.lnrpc.Utxo = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.lnrpc.Utxo, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.lnrpc.Utxo.displayName = 'proto.lnrpc.Utxo';\n}\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.lnrpc.Utxo.prototype.toObject = function(opt_includeInstance) {\n return proto.lnrpc.Utxo.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.lnrpc.Utxo} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.Utxo.toObject = function(includeInstance, msg) {\n var f, obj = {\n addressType: jspb.Message.getFieldWithDefault(msg, 1, 0),\n address: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n amountSat: jspb.Message.getFieldWithDefault(msg, 3, 0),\n pkScript: jspb.Message.getFieldWithDefault(msg, 4, \"\"),\n outpoint: (f = msg.getOutpoint()) && proto.lnrpc.OutPoint.toObject(includeInstance, f),\n confirmations: jspb.Message.getFieldWithDefault(msg, 6, 0)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.lnrpc.Utxo}\n */\nproto.lnrpc.Utxo.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.lnrpc.Utxo;\n return proto.lnrpc.Utxo.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.lnrpc.Utxo} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.lnrpc.Utxo}\n */\nproto.lnrpc.Utxo.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {!proto.lnrpc.AddressType} */ (reader.readEnum());\n msg.setAddressType(value);\n break;\n case 2:\n var value = /** @type {string} */ (reader.readString());\n msg.setAddress(value);\n break;\n case 3:\n var value = /** @type {number} */ (reader.readInt64());\n msg.setAmountSat(value);\n break;\n case 4:\n var value = /** @type {string} */ (reader.readString());\n msg.setPkScript(value);\n break;\n case 5:\n var value = new proto.lnrpc.OutPoint;\n reader.readMessage(value,proto.lnrpc.OutPoint.deserializeBinaryFromReader);\n msg.setOutpoint(value);\n break;\n case 6:\n var value = /** @type {number} */ (reader.readInt64());\n msg.setConfirmations(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.lnrpc.Utxo.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.lnrpc.Utxo.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.lnrpc.Utxo} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.Utxo.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getAddressType();\n if (f !== 0.0) {\n writer.writeEnum(\n 1,\n f\n );\n }\n f = message.getAddress();\n if (f.length > 0) {\n writer.writeString(\n 2,\n f\n );\n }\n f = message.getAmountSat();\n if (f !== 0) {\n writer.writeInt64(\n 3,\n f\n );\n }\n f = message.getPkScript();\n if (f.length > 0) {\n writer.writeString(\n 4,\n f\n );\n }\n f = message.getOutpoint();\n if (f != null) {\n writer.writeMessage(\n 5,\n f,\n proto.lnrpc.OutPoint.serializeBinaryToWriter\n );\n }\n f = message.getConfirmations();\n if (f !== 0) {\n writer.writeInt64(\n 6,\n f\n );\n }\n};\n\n\n/**\n * optional AddressType address_type = 1;\n * @return {!proto.lnrpc.AddressType}\n */\nproto.lnrpc.Utxo.prototype.getAddressType = function() {\n return /** @type {!proto.lnrpc.AddressType} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/** @param {!proto.lnrpc.AddressType} value */\nproto.lnrpc.Utxo.prototype.setAddressType = function(value) {\n jspb.Message.setField(this, 1, value);\n};\n\n\n/**\n * optional string address = 2;\n * @return {string}\n */\nproto.lnrpc.Utxo.prototype.getAddress = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/** @param {string} value */\nproto.lnrpc.Utxo.prototype.setAddress = function(value) {\n jspb.Message.setField(this, 2, value);\n};\n\n\n/**\n * optional int64 amount_sat = 3;\n * @return {number}\n */\nproto.lnrpc.Utxo.prototype.getAmountSat = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.Utxo.prototype.setAmountSat = function(value) {\n jspb.Message.setField(this, 3, value);\n};\n\n\n/**\n * optional string pk_script = 4;\n * @return {string}\n */\nproto.lnrpc.Utxo.prototype.getPkScript = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"\"));\n};\n\n\n/** @param {string} value */\nproto.lnrpc.Utxo.prototype.setPkScript = function(value) {\n jspb.Message.setField(this, 4, value);\n};\n\n\n/**\n * optional OutPoint outpoint = 5;\n * @return {?proto.lnrpc.OutPoint}\n */\nproto.lnrpc.Utxo.prototype.getOutpoint = function() {\n return /** @type{?proto.lnrpc.OutPoint} */ (\n jspb.Message.getWrapperField(this, proto.lnrpc.OutPoint, 5));\n};\n\n\n/** @param {?proto.lnrpc.OutPoint|undefined} value */\nproto.lnrpc.Utxo.prototype.setOutpoint = function(value) {\n jspb.Message.setWrapperField(this, 5, value);\n};\n\n\nproto.lnrpc.Utxo.prototype.clearOutpoint = function() {\n this.setOutpoint(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {!boolean}\n */\nproto.lnrpc.Utxo.prototype.hasOutpoint = function() {\n return jspb.Message.getField(this, 5) != null;\n};\n\n\n/**\n * optional int64 confirmations = 6;\n * @return {number}\n */\nproto.lnrpc.Utxo.prototype.getConfirmations = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 6, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.Utxo.prototype.setConfirmations = function(value) {\n jspb.Message.setField(this, 6, value);\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.lnrpc.Transaction = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, proto.lnrpc.Transaction.repeatedFields_, null);\n};\ngoog.inherits(proto.lnrpc.Transaction, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.lnrpc.Transaction.displayName = 'proto.lnrpc.Transaction';\n}\n/**\n * List of repeated fields within this message type.\n * @private {!Array}\n * @const\n */\nproto.lnrpc.Transaction.repeatedFields_ = [8];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.lnrpc.Transaction.prototype.toObject = function(opt_includeInstance) {\n return proto.lnrpc.Transaction.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.lnrpc.Transaction} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.Transaction.toObject = function(includeInstance, msg) {\n var f, obj = {\n txHash: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n amount: jspb.Message.getFieldWithDefault(msg, 2, 0),\n numConfirmations: jspb.Message.getFieldWithDefault(msg, 3, 0),\n blockHash: jspb.Message.getFieldWithDefault(msg, 4, \"\"),\n blockHeight: jspb.Message.getFieldWithDefault(msg, 5, 0),\n timeStamp: jspb.Message.getFieldWithDefault(msg, 6, 0),\n totalFees: jspb.Message.getFieldWithDefault(msg, 7, 0),\n destAddressesList: jspb.Message.getRepeatedField(msg, 8),\n rawTxHex: jspb.Message.getFieldWithDefault(msg, 9, \"\"),\n label: jspb.Message.getFieldWithDefault(msg, 10, \"\")\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.lnrpc.Transaction}\n */\nproto.lnrpc.Transaction.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.lnrpc.Transaction;\n return proto.lnrpc.Transaction.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.lnrpc.Transaction} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.lnrpc.Transaction}\n */\nproto.lnrpc.Transaction.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setTxHash(value);\n break;\n case 2:\n var value = /** @type {number} */ (reader.readInt64());\n msg.setAmount(value);\n break;\n case 3:\n var value = /** @type {number} */ (reader.readInt32());\n msg.setNumConfirmations(value);\n break;\n case 4:\n var value = /** @type {string} */ (reader.readString());\n msg.setBlockHash(value);\n break;\n case 5:\n var value = /** @type {number} */ (reader.readInt32());\n msg.setBlockHeight(value);\n break;\n case 6:\n var value = /** @type {number} */ (reader.readInt64());\n msg.setTimeStamp(value);\n break;\n case 7:\n var value = /** @type {number} */ (reader.readInt64());\n msg.setTotalFees(value);\n break;\n case 8:\n var value = /** @type {string} */ (reader.readString());\n msg.addDestAddresses(value);\n break;\n case 9:\n var value = /** @type {string} */ (reader.readString());\n msg.setRawTxHex(value);\n break;\n case 10:\n var value = /** @type {string} */ (reader.readString());\n msg.setLabel(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.lnrpc.Transaction.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.lnrpc.Transaction.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.lnrpc.Transaction} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.Transaction.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getTxHash();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n f = message.getAmount();\n if (f !== 0) {\n writer.writeInt64(\n 2,\n f\n );\n }\n f = message.getNumConfirmations();\n if (f !== 0) {\n writer.writeInt32(\n 3,\n f\n );\n }\n f = message.getBlockHash();\n if (f.length > 0) {\n writer.writeString(\n 4,\n f\n );\n }\n f = message.getBlockHeight();\n if (f !== 0) {\n writer.writeInt32(\n 5,\n f\n );\n }\n f = message.getTimeStamp();\n if (f !== 0) {\n writer.writeInt64(\n 6,\n f\n );\n }\n f = message.getTotalFees();\n if (f !== 0) {\n writer.writeInt64(\n 7,\n f\n );\n }\n f = message.getDestAddressesList();\n if (f.length > 0) {\n writer.writeRepeatedString(\n 8,\n f\n );\n }\n f = message.getRawTxHex();\n if (f.length > 0) {\n writer.writeString(\n 9,\n f\n );\n }\n f = message.getLabel();\n if (f.length > 0) {\n writer.writeString(\n 10,\n f\n );\n }\n};\n\n\n/**\n * optional string tx_hash = 1;\n * @return {string}\n */\nproto.lnrpc.Transaction.prototype.getTxHash = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/** @param {string} value */\nproto.lnrpc.Transaction.prototype.setTxHash = function(value) {\n jspb.Message.setField(this, 1, value);\n};\n\n\n/**\n * optional int64 amount = 2;\n * @return {number}\n */\nproto.lnrpc.Transaction.prototype.getAmount = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.Transaction.prototype.setAmount = function(value) {\n jspb.Message.setField(this, 2, value);\n};\n\n\n/**\n * optional int32 num_confirmations = 3;\n * @return {number}\n */\nproto.lnrpc.Transaction.prototype.getNumConfirmations = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.Transaction.prototype.setNumConfirmations = function(value) {\n jspb.Message.setField(this, 3, value);\n};\n\n\n/**\n * optional string block_hash = 4;\n * @return {string}\n */\nproto.lnrpc.Transaction.prototype.getBlockHash = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"\"));\n};\n\n\n/** @param {string} value */\nproto.lnrpc.Transaction.prototype.setBlockHash = function(value) {\n jspb.Message.setField(this, 4, value);\n};\n\n\n/**\n * optional int32 block_height = 5;\n * @return {number}\n */\nproto.lnrpc.Transaction.prototype.getBlockHeight = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 5, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.Transaction.prototype.setBlockHeight = function(value) {\n jspb.Message.setField(this, 5, value);\n};\n\n\n/**\n * optional int64 time_stamp = 6;\n * @return {number}\n */\nproto.lnrpc.Transaction.prototype.getTimeStamp = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 6, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.Transaction.prototype.setTimeStamp = function(value) {\n jspb.Message.setField(this, 6, value);\n};\n\n\n/**\n * optional int64 total_fees = 7;\n * @return {number}\n */\nproto.lnrpc.Transaction.prototype.getTotalFees = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 7, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.Transaction.prototype.setTotalFees = function(value) {\n jspb.Message.setField(this, 7, value);\n};\n\n\n/**\n * repeated string dest_addresses = 8;\n * @return {!Array.}\n */\nproto.lnrpc.Transaction.prototype.getDestAddressesList = function() {\n return /** @type {!Array.} */ (jspb.Message.getRepeatedField(this, 8));\n};\n\n\n/** @param {!Array.} value */\nproto.lnrpc.Transaction.prototype.setDestAddressesList = function(value) {\n jspb.Message.setField(this, 8, value || []);\n};\n\n\n/**\n * @param {!string} value\n * @param {number=} opt_index\n */\nproto.lnrpc.Transaction.prototype.addDestAddresses = function(value, opt_index) {\n jspb.Message.addToRepeatedField(this, 8, value, opt_index);\n};\n\n\nproto.lnrpc.Transaction.prototype.clearDestAddressesList = function() {\n this.setDestAddressesList([]);\n};\n\n\n/**\n * optional string raw_tx_hex = 9;\n * @return {string}\n */\nproto.lnrpc.Transaction.prototype.getRawTxHex = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 9, \"\"));\n};\n\n\n/** @param {string} value */\nproto.lnrpc.Transaction.prototype.setRawTxHex = function(value) {\n jspb.Message.setField(this, 9, value);\n};\n\n\n/**\n * optional string label = 10;\n * @return {string}\n */\nproto.lnrpc.Transaction.prototype.getLabel = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 10, \"\"));\n};\n\n\n/** @param {string} value */\nproto.lnrpc.Transaction.prototype.setLabel = function(value) {\n jspb.Message.setField(this, 10, value);\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.lnrpc.GetTransactionsRequest = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.lnrpc.GetTransactionsRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.lnrpc.GetTransactionsRequest.displayName = 'proto.lnrpc.GetTransactionsRequest';\n}\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.lnrpc.GetTransactionsRequest.prototype.toObject = function(opt_includeInstance) {\n return proto.lnrpc.GetTransactionsRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.lnrpc.GetTransactionsRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.GetTransactionsRequest.toObject = function(includeInstance, msg) {\n var f, obj = {\n startHeight: jspb.Message.getFieldWithDefault(msg, 1, 0),\n endHeight: jspb.Message.getFieldWithDefault(msg, 2, 0)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.lnrpc.GetTransactionsRequest}\n */\nproto.lnrpc.GetTransactionsRequest.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.lnrpc.GetTransactionsRequest;\n return proto.lnrpc.GetTransactionsRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.lnrpc.GetTransactionsRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.lnrpc.GetTransactionsRequest}\n */\nproto.lnrpc.GetTransactionsRequest.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {number} */ (reader.readInt32());\n msg.setStartHeight(value);\n break;\n case 2:\n var value = /** @type {number} */ (reader.readInt32());\n msg.setEndHeight(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.lnrpc.GetTransactionsRequest.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.lnrpc.GetTransactionsRequest.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.lnrpc.GetTransactionsRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.GetTransactionsRequest.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getStartHeight();\n if (f !== 0) {\n writer.writeInt32(\n 1,\n f\n );\n }\n f = message.getEndHeight();\n if (f !== 0) {\n writer.writeInt32(\n 2,\n f\n );\n }\n};\n\n\n/**\n * optional int32 start_height = 1;\n * @return {number}\n */\nproto.lnrpc.GetTransactionsRequest.prototype.getStartHeight = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.GetTransactionsRequest.prototype.setStartHeight = function(value) {\n jspb.Message.setField(this, 1, value);\n};\n\n\n/**\n * optional int32 end_height = 2;\n * @return {number}\n */\nproto.lnrpc.GetTransactionsRequest.prototype.getEndHeight = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.GetTransactionsRequest.prototype.setEndHeight = function(value) {\n jspb.Message.setField(this, 2, value);\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.lnrpc.TransactionDetails = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, proto.lnrpc.TransactionDetails.repeatedFields_, null);\n};\ngoog.inherits(proto.lnrpc.TransactionDetails, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.lnrpc.TransactionDetails.displayName = 'proto.lnrpc.TransactionDetails';\n}\n/**\n * List of repeated fields within this message type.\n * @private {!Array}\n * @const\n */\nproto.lnrpc.TransactionDetails.repeatedFields_ = [1];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.lnrpc.TransactionDetails.prototype.toObject = function(opt_includeInstance) {\n return proto.lnrpc.TransactionDetails.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.lnrpc.TransactionDetails} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.TransactionDetails.toObject = function(includeInstance, msg) {\n var f, obj = {\n transactionsList: jspb.Message.toObjectList(msg.getTransactionsList(),\n proto.lnrpc.Transaction.toObject, includeInstance)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.lnrpc.TransactionDetails}\n */\nproto.lnrpc.TransactionDetails.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.lnrpc.TransactionDetails;\n return proto.lnrpc.TransactionDetails.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.lnrpc.TransactionDetails} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.lnrpc.TransactionDetails}\n */\nproto.lnrpc.TransactionDetails.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = new proto.lnrpc.Transaction;\n reader.readMessage(value,proto.lnrpc.Transaction.deserializeBinaryFromReader);\n msg.addTransactions(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.lnrpc.TransactionDetails.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.lnrpc.TransactionDetails.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.lnrpc.TransactionDetails} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.TransactionDetails.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getTransactionsList();\n if (f.length > 0) {\n writer.writeRepeatedMessage(\n 1,\n f,\n proto.lnrpc.Transaction.serializeBinaryToWriter\n );\n }\n};\n\n\n/**\n * repeated Transaction transactions = 1;\n * @return {!Array.}\n */\nproto.lnrpc.TransactionDetails.prototype.getTransactionsList = function() {\n return /** @type{!Array.} */ (\n jspb.Message.getRepeatedWrapperField(this, proto.lnrpc.Transaction, 1));\n};\n\n\n/** @param {!Array.} value */\nproto.lnrpc.TransactionDetails.prototype.setTransactionsList = function(value) {\n jspb.Message.setRepeatedWrapperField(this, 1, value);\n};\n\n\n/**\n * @param {!proto.lnrpc.Transaction=} opt_value\n * @param {number=} opt_index\n * @return {!proto.lnrpc.Transaction}\n */\nproto.lnrpc.TransactionDetails.prototype.addTransactions = function(opt_value, opt_index) {\n return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.lnrpc.Transaction, opt_index);\n};\n\n\nproto.lnrpc.TransactionDetails.prototype.clearTransactionsList = function() {\n this.setTransactionsList([]);\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.lnrpc.FeeLimit = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, proto.lnrpc.FeeLimit.oneofGroups_);\n};\ngoog.inherits(proto.lnrpc.FeeLimit, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.lnrpc.FeeLimit.displayName = 'proto.lnrpc.FeeLimit';\n}\n/**\n * Oneof group definitions for this message. Each group defines the field\n * numbers belonging to that group. When of these fields' value is set, all\n * other fields in the group are cleared. During deserialization, if multiple\n * fields are encountered for a group, only the last value seen will be kept.\n * @private {!Array>}\n * @const\n */\nproto.lnrpc.FeeLimit.oneofGroups_ = [[1,3,2]];\n\n/**\n * @enum {number}\n */\nproto.lnrpc.FeeLimit.LimitCase = {\n LIMIT_NOT_SET: 0,\n FIXED: 1,\n FIXED_MSAT: 3,\n PERCENT: 2\n};\n\n/**\n * @return {proto.lnrpc.FeeLimit.LimitCase}\n */\nproto.lnrpc.FeeLimit.prototype.getLimitCase = function() {\n return /** @type {proto.lnrpc.FeeLimit.LimitCase} */(jspb.Message.computeOneofCase(this, proto.lnrpc.FeeLimit.oneofGroups_[0]));\n};\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.lnrpc.FeeLimit.prototype.toObject = function(opt_includeInstance) {\n return proto.lnrpc.FeeLimit.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.lnrpc.FeeLimit} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.FeeLimit.toObject = function(includeInstance, msg) {\n var f, obj = {\n fixed: jspb.Message.getFieldWithDefault(msg, 1, 0),\n fixedMsat: jspb.Message.getFieldWithDefault(msg, 3, 0),\n percent: jspb.Message.getFieldWithDefault(msg, 2, 0)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.lnrpc.FeeLimit}\n */\nproto.lnrpc.FeeLimit.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.lnrpc.FeeLimit;\n return proto.lnrpc.FeeLimit.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.lnrpc.FeeLimit} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.lnrpc.FeeLimit}\n */\nproto.lnrpc.FeeLimit.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {number} */ (reader.readInt64());\n msg.setFixed(value);\n break;\n case 3:\n var value = /** @type {number} */ (reader.readInt64());\n msg.setFixedMsat(value);\n break;\n case 2:\n var value = /** @type {number} */ (reader.readInt64());\n msg.setPercent(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.lnrpc.FeeLimit.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.lnrpc.FeeLimit.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.lnrpc.FeeLimit} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.FeeLimit.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = /** @type {number} */ (jspb.Message.getField(message, 1));\n if (f != null) {\n writer.writeInt64(\n 1,\n f\n );\n }\n f = /** @type {number} */ (jspb.Message.getField(message, 3));\n if (f != null) {\n writer.writeInt64(\n 3,\n f\n );\n }\n f = /** @type {number} */ (jspb.Message.getField(message, 2));\n if (f != null) {\n writer.writeInt64(\n 2,\n f\n );\n }\n};\n\n\n/**\n * optional int64 fixed = 1;\n * @return {number}\n */\nproto.lnrpc.FeeLimit.prototype.getFixed = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.FeeLimit.prototype.setFixed = function(value) {\n jspb.Message.setOneofField(this, 1, proto.lnrpc.FeeLimit.oneofGroups_[0], value);\n};\n\n\nproto.lnrpc.FeeLimit.prototype.clearFixed = function() {\n jspb.Message.setOneofField(this, 1, proto.lnrpc.FeeLimit.oneofGroups_[0], undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {!boolean}\n */\nproto.lnrpc.FeeLimit.prototype.hasFixed = function() {\n return jspb.Message.getField(this, 1) != null;\n};\n\n\n/**\n * optional int64 fixed_msat = 3;\n * @return {number}\n */\nproto.lnrpc.FeeLimit.prototype.getFixedMsat = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.FeeLimit.prototype.setFixedMsat = function(value) {\n jspb.Message.setOneofField(this, 3, proto.lnrpc.FeeLimit.oneofGroups_[0], value);\n};\n\n\nproto.lnrpc.FeeLimit.prototype.clearFixedMsat = function() {\n jspb.Message.setOneofField(this, 3, proto.lnrpc.FeeLimit.oneofGroups_[0], undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {!boolean}\n */\nproto.lnrpc.FeeLimit.prototype.hasFixedMsat = function() {\n return jspb.Message.getField(this, 3) != null;\n};\n\n\n/**\n * optional int64 percent = 2;\n * @return {number}\n */\nproto.lnrpc.FeeLimit.prototype.getPercent = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.FeeLimit.prototype.setPercent = function(value) {\n jspb.Message.setOneofField(this, 2, proto.lnrpc.FeeLimit.oneofGroups_[0], value);\n};\n\n\nproto.lnrpc.FeeLimit.prototype.clearPercent = function() {\n jspb.Message.setOneofField(this, 2, proto.lnrpc.FeeLimit.oneofGroups_[0], undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {!boolean}\n */\nproto.lnrpc.FeeLimit.prototype.hasPercent = function() {\n return jspb.Message.getField(this, 2) != null;\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.lnrpc.SendRequest = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, proto.lnrpc.SendRequest.repeatedFields_, null);\n};\ngoog.inherits(proto.lnrpc.SendRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.lnrpc.SendRequest.displayName = 'proto.lnrpc.SendRequest';\n}\n/**\n * List of repeated fields within this message type.\n * @private {!Array}\n * @const\n */\nproto.lnrpc.SendRequest.repeatedFields_ = [15];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.lnrpc.SendRequest.prototype.toObject = function(opt_includeInstance) {\n return proto.lnrpc.SendRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.lnrpc.SendRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.SendRequest.toObject = function(includeInstance, msg) {\n var f, obj = {\n dest: msg.getDest_asB64(),\n destString: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n amt: jspb.Message.getFieldWithDefault(msg, 3, 0),\n amtMsat: jspb.Message.getFieldWithDefault(msg, 12, 0),\n paymentHash: msg.getPaymentHash_asB64(),\n paymentHashString: jspb.Message.getFieldWithDefault(msg, 5, \"\"),\n paymentRequest: jspb.Message.getFieldWithDefault(msg, 6, \"\"),\n finalCltvDelta: jspb.Message.getFieldWithDefault(msg, 7, 0),\n feeLimit: (f = msg.getFeeLimit()) && proto.lnrpc.FeeLimit.toObject(includeInstance, f),\n outgoingChanId: jspb.Message.getFieldWithDefault(msg, 9, \"0\"),\n lastHopPubkey: msg.getLastHopPubkey_asB64(),\n cltvLimit: jspb.Message.getFieldWithDefault(msg, 10, 0),\n destCustomRecordsMap: (f = msg.getDestCustomRecordsMap()) ? f.toObject(includeInstance, undefined) : [],\n allowSelfPayment: jspb.Message.getFieldWithDefault(msg, 14, false),\n destFeaturesList: jspb.Message.getRepeatedField(msg, 15)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.lnrpc.SendRequest}\n */\nproto.lnrpc.SendRequest.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.lnrpc.SendRequest;\n return proto.lnrpc.SendRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.lnrpc.SendRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.lnrpc.SendRequest}\n */\nproto.lnrpc.SendRequest.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {!Uint8Array} */ (reader.readBytes());\n msg.setDest(value);\n break;\n case 2:\n var value = /** @type {string} */ (reader.readString());\n msg.setDestString(value);\n break;\n case 3:\n var value = /** @type {number} */ (reader.readInt64());\n msg.setAmt(value);\n break;\n case 12:\n var value = /** @type {number} */ (reader.readInt64());\n msg.setAmtMsat(value);\n break;\n case 4:\n var value = /** @type {!Uint8Array} */ (reader.readBytes());\n msg.setPaymentHash(value);\n break;\n case 5:\n var value = /** @type {string} */ (reader.readString());\n msg.setPaymentHashString(value);\n break;\n case 6:\n var value = /** @type {string} */ (reader.readString());\n msg.setPaymentRequest(value);\n break;\n case 7:\n var value = /** @type {number} */ (reader.readInt32());\n msg.setFinalCltvDelta(value);\n break;\n case 8:\n var value = new proto.lnrpc.FeeLimit;\n reader.readMessage(value,proto.lnrpc.FeeLimit.deserializeBinaryFromReader);\n msg.setFeeLimit(value);\n break;\n case 9:\n var value = /** @type {string} */ (reader.readUint64String());\n msg.setOutgoingChanId(value);\n break;\n case 13:\n var value = /** @type {!Uint8Array} */ (reader.readBytes());\n msg.setLastHopPubkey(value);\n break;\n case 10:\n var value = /** @type {number} */ (reader.readUint32());\n msg.setCltvLimit(value);\n break;\n case 11:\n var value = msg.getDestCustomRecordsMap();\n reader.readMessage(value, function(message, reader) {\n jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readUint64, jspb.BinaryReader.prototype.readBytes);\n });\n break;\n case 14:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setAllowSelfPayment(value);\n break;\n case 15:\n var value = /** @type {!Array.} */ (reader.readPackedEnum());\n msg.setDestFeaturesList(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.lnrpc.SendRequest.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.lnrpc.SendRequest.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.lnrpc.SendRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.SendRequest.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getDest_asU8();\n if (f.length > 0) {\n writer.writeBytes(\n 1,\n f\n );\n }\n f = message.getDestString();\n if (f.length > 0) {\n writer.writeString(\n 2,\n f\n );\n }\n f = message.getAmt();\n if (f !== 0) {\n writer.writeInt64(\n 3,\n f\n );\n }\n f = message.getAmtMsat();\n if (f !== 0) {\n writer.writeInt64(\n 12,\n f\n );\n }\n f = message.getPaymentHash_asU8();\n if (f.length > 0) {\n writer.writeBytes(\n 4,\n f\n );\n }\n f = message.getPaymentHashString();\n if (f.length > 0) {\n writer.writeString(\n 5,\n f\n );\n }\n f = message.getPaymentRequest();\n if (f.length > 0) {\n writer.writeString(\n 6,\n f\n );\n }\n f = message.getFinalCltvDelta();\n if (f !== 0) {\n writer.writeInt32(\n 7,\n f\n );\n }\n f = message.getFeeLimit();\n if (f != null) {\n writer.writeMessage(\n 8,\n f,\n proto.lnrpc.FeeLimit.serializeBinaryToWriter\n );\n }\n f = message.getOutgoingChanId();\n if (parseInt(f, 10) !== 0) {\n writer.writeUint64String(\n 9,\n f\n );\n }\n f = message.getLastHopPubkey_asU8();\n if (f.length > 0) {\n writer.writeBytes(\n 13,\n f\n );\n }\n f = message.getCltvLimit();\n if (f !== 0) {\n writer.writeUint32(\n 10,\n f\n );\n }\n f = message.getDestCustomRecordsMap(true);\n if (f && f.getLength() > 0) {\n f.serializeBinary(11, writer, jspb.BinaryWriter.prototype.writeUint64, jspb.BinaryWriter.prototype.writeBytes);\n }\n f = message.getAllowSelfPayment();\n if (f) {\n writer.writeBool(\n 14,\n f\n );\n }\n f = message.getDestFeaturesList();\n if (f.length > 0) {\n writer.writePackedEnum(\n 15,\n f\n );\n }\n};\n\n\n/**\n * optional bytes dest = 1;\n * @return {string}\n */\nproto.lnrpc.SendRequest.prototype.getDest = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * optional bytes dest = 1;\n * This is a type-conversion wrapper around `getDest()`\n * @return {string}\n */\nproto.lnrpc.SendRequest.prototype.getDest_asB64 = function() {\n return /** @type {string} */ (jspb.Message.bytesAsB64(\n this.getDest()));\n};\n\n\n/**\n * optional bytes dest = 1;\n * Note that Uint8Array is not supported on all browsers.\n * @see http://caniuse.com/Uint8Array\n * This is a type-conversion wrapper around `getDest()`\n * @return {!Uint8Array}\n */\nproto.lnrpc.SendRequest.prototype.getDest_asU8 = function() {\n return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(\n this.getDest()));\n};\n\n\n/** @param {!(string|Uint8Array)} value */\nproto.lnrpc.SendRequest.prototype.setDest = function(value) {\n jspb.Message.setField(this, 1, value);\n};\n\n\n/**\n * optional string dest_string = 2;\n * @return {string}\n */\nproto.lnrpc.SendRequest.prototype.getDestString = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/** @param {string} value */\nproto.lnrpc.SendRequest.prototype.setDestString = function(value) {\n jspb.Message.setField(this, 2, value);\n};\n\n\n/**\n * optional int64 amt = 3;\n * @return {number}\n */\nproto.lnrpc.SendRequest.prototype.getAmt = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.SendRequest.prototype.setAmt = function(value) {\n jspb.Message.setField(this, 3, value);\n};\n\n\n/**\n * optional int64 amt_msat = 12;\n * @return {number}\n */\nproto.lnrpc.SendRequest.prototype.getAmtMsat = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 12, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.SendRequest.prototype.setAmtMsat = function(value) {\n jspb.Message.setField(this, 12, value);\n};\n\n\n/**\n * optional bytes payment_hash = 4;\n * @return {string}\n */\nproto.lnrpc.SendRequest.prototype.getPaymentHash = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"\"));\n};\n\n\n/**\n * optional bytes payment_hash = 4;\n * This is a type-conversion wrapper around `getPaymentHash()`\n * @return {string}\n */\nproto.lnrpc.SendRequest.prototype.getPaymentHash_asB64 = function() {\n return /** @type {string} */ (jspb.Message.bytesAsB64(\n this.getPaymentHash()));\n};\n\n\n/**\n * optional bytes payment_hash = 4;\n * Note that Uint8Array is not supported on all browsers.\n * @see http://caniuse.com/Uint8Array\n * This is a type-conversion wrapper around `getPaymentHash()`\n * @return {!Uint8Array}\n */\nproto.lnrpc.SendRequest.prototype.getPaymentHash_asU8 = function() {\n return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(\n this.getPaymentHash()));\n};\n\n\n/** @param {!(string|Uint8Array)} value */\nproto.lnrpc.SendRequest.prototype.setPaymentHash = function(value) {\n jspb.Message.setField(this, 4, value);\n};\n\n\n/**\n * optional string payment_hash_string = 5;\n * @return {string}\n */\nproto.lnrpc.SendRequest.prototype.getPaymentHashString = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, \"\"));\n};\n\n\n/** @param {string} value */\nproto.lnrpc.SendRequest.prototype.setPaymentHashString = function(value) {\n jspb.Message.setField(this, 5, value);\n};\n\n\n/**\n * optional string payment_request = 6;\n * @return {string}\n */\nproto.lnrpc.SendRequest.prototype.getPaymentRequest = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 6, \"\"));\n};\n\n\n/** @param {string} value */\nproto.lnrpc.SendRequest.prototype.setPaymentRequest = function(value) {\n jspb.Message.setField(this, 6, value);\n};\n\n\n/**\n * optional int32 final_cltv_delta = 7;\n * @return {number}\n */\nproto.lnrpc.SendRequest.prototype.getFinalCltvDelta = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 7, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.SendRequest.prototype.setFinalCltvDelta = function(value) {\n jspb.Message.setField(this, 7, value);\n};\n\n\n/**\n * optional FeeLimit fee_limit = 8;\n * @return {?proto.lnrpc.FeeLimit}\n */\nproto.lnrpc.SendRequest.prototype.getFeeLimit = function() {\n return /** @type{?proto.lnrpc.FeeLimit} */ (\n jspb.Message.getWrapperField(this, proto.lnrpc.FeeLimit, 8));\n};\n\n\n/** @param {?proto.lnrpc.FeeLimit|undefined} value */\nproto.lnrpc.SendRequest.prototype.setFeeLimit = function(value) {\n jspb.Message.setWrapperField(this, 8, value);\n};\n\n\nproto.lnrpc.SendRequest.prototype.clearFeeLimit = function() {\n this.setFeeLimit(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {!boolean}\n */\nproto.lnrpc.SendRequest.prototype.hasFeeLimit = function() {\n return jspb.Message.getField(this, 8) != null;\n};\n\n\n/**\n * optional uint64 outgoing_chan_id = 9;\n * @return {string}\n */\nproto.lnrpc.SendRequest.prototype.getOutgoingChanId = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 9, \"0\"));\n};\n\n\n/** @param {string} value */\nproto.lnrpc.SendRequest.prototype.setOutgoingChanId = function(value) {\n jspb.Message.setField(this, 9, value);\n};\n\n\n/**\n * optional bytes last_hop_pubkey = 13;\n * @return {string}\n */\nproto.lnrpc.SendRequest.prototype.getLastHopPubkey = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 13, \"\"));\n};\n\n\n/**\n * optional bytes last_hop_pubkey = 13;\n * This is a type-conversion wrapper around `getLastHopPubkey()`\n * @return {string}\n */\nproto.lnrpc.SendRequest.prototype.getLastHopPubkey_asB64 = function() {\n return /** @type {string} */ (jspb.Message.bytesAsB64(\n this.getLastHopPubkey()));\n};\n\n\n/**\n * optional bytes last_hop_pubkey = 13;\n * Note that Uint8Array is not supported on all browsers.\n * @see http://caniuse.com/Uint8Array\n * This is a type-conversion wrapper around `getLastHopPubkey()`\n * @return {!Uint8Array}\n */\nproto.lnrpc.SendRequest.prototype.getLastHopPubkey_asU8 = function() {\n return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(\n this.getLastHopPubkey()));\n};\n\n\n/** @param {!(string|Uint8Array)} value */\nproto.lnrpc.SendRequest.prototype.setLastHopPubkey = function(value) {\n jspb.Message.setField(this, 13, value);\n};\n\n\n/**\n * optional uint32 cltv_limit = 10;\n * @return {number}\n */\nproto.lnrpc.SendRequest.prototype.getCltvLimit = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 10, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.SendRequest.prototype.setCltvLimit = function(value) {\n jspb.Message.setField(this, 10, value);\n};\n\n\n/**\n * map dest_custom_records = 11;\n * @param {boolean=} opt_noLazyCreate Do not create the map if\n * empty, instead returning `undefined`\n * @return {!jspb.Map}\n */\nproto.lnrpc.SendRequest.prototype.getDestCustomRecordsMap = function(opt_noLazyCreate) {\n return /** @type {!jspb.Map} */ (\n jspb.Message.getMapField(this, 11, opt_noLazyCreate,\n null));\n};\n\n\nproto.lnrpc.SendRequest.prototype.clearDestCustomRecordsMap = function() {\n this.getDestCustomRecordsMap().clear();\n};\n\n\n/**\n * optional bool allow_self_payment = 14;\n * Note that Boolean fields may be set to 0/1 when serialized from a Java server.\n * You should avoid comparisons like {@code val === true/false} in those cases.\n * @return {boolean}\n */\nproto.lnrpc.SendRequest.prototype.getAllowSelfPayment = function() {\n return /** @type {boolean} */ (jspb.Message.getFieldWithDefault(this, 14, false));\n};\n\n\n/** @param {boolean} value */\nproto.lnrpc.SendRequest.prototype.setAllowSelfPayment = function(value) {\n jspb.Message.setField(this, 14, value);\n};\n\n\n/**\n * repeated FeatureBit dest_features = 15;\n * @return {!Array.}\n */\nproto.lnrpc.SendRequest.prototype.getDestFeaturesList = function() {\n return /** @type {!Array.} */ (jspb.Message.getRepeatedField(this, 15));\n};\n\n\n/** @param {!Array.} value */\nproto.lnrpc.SendRequest.prototype.setDestFeaturesList = function(value) {\n jspb.Message.setField(this, 15, value || []);\n};\n\n\n/**\n * @param {!proto.lnrpc.FeatureBit} value\n * @param {number=} opt_index\n */\nproto.lnrpc.SendRequest.prototype.addDestFeatures = function(value, opt_index) {\n jspb.Message.addToRepeatedField(this, 15, value, opt_index);\n};\n\n\nproto.lnrpc.SendRequest.prototype.clearDestFeaturesList = function() {\n this.setDestFeaturesList([]);\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.lnrpc.SendResponse = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.lnrpc.SendResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.lnrpc.SendResponse.displayName = 'proto.lnrpc.SendResponse';\n}\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.lnrpc.SendResponse.prototype.toObject = function(opt_includeInstance) {\n return proto.lnrpc.SendResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.lnrpc.SendResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.SendResponse.toObject = function(includeInstance, msg) {\n var f, obj = {\n paymentError: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n paymentPreimage: msg.getPaymentPreimage_asB64(),\n paymentRoute: (f = msg.getPaymentRoute()) && proto.lnrpc.Route.toObject(includeInstance, f),\n paymentHash: msg.getPaymentHash_asB64()\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.lnrpc.SendResponse}\n */\nproto.lnrpc.SendResponse.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.lnrpc.SendResponse;\n return proto.lnrpc.SendResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.lnrpc.SendResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.lnrpc.SendResponse}\n */\nproto.lnrpc.SendResponse.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setPaymentError(value);\n break;\n case 2:\n var value = /** @type {!Uint8Array} */ (reader.readBytes());\n msg.setPaymentPreimage(value);\n break;\n case 3:\n var value = new proto.lnrpc.Route;\n reader.readMessage(value,proto.lnrpc.Route.deserializeBinaryFromReader);\n msg.setPaymentRoute(value);\n break;\n case 4:\n var value = /** @type {!Uint8Array} */ (reader.readBytes());\n msg.setPaymentHash(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.lnrpc.SendResponse.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.lnrpc.SendResponse.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.lnrpc.SendResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.SendResponse.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getPaymentError();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n f = message.getPaymentPreimage_asU8();\n if (f.length > 0) {\n writer.writeBytes(\n 2,\n f\n );\n }\n f = message.getPaymentRoute();\n if (f != null) {\n writer.writeMessage(\n 3,\n f,\n proto.lnrpc.Route.serializeBinaryToWriter\n );\n }\n f = message.getPaymentHash_asU8();\n if (f.length > 0) {\n writer.writeBytes(\n 4,\n f\n );\n }\n};\n\n\n/**\n * optional string payment_error = 1;\n * @return {string}\n */\nproto.lnrpc.SendResponse.prototype.getPaymentError = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/** @param {string} value */\nproto.lnrpc.SendResponse.prototype.setPaymentError = function(value) {\n jspb.Message.setField(this, 1, value);\n};\n\n\n/**\n * optional bytes payment_preimage = 2;\n * @return {string}\n */\nproto.lnrpc.SendResponse.prototype.getPaymentPreimage = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * optional bytes payment_preimage = 2;\n * This is a type-conversion wrapper around `getPaymentPreimage()`\n * @return {string}\n */\nproto.lnrpc.SendResponse.prototype.getPaymentPreimage_asB64 = function() {\n return /** @type {string} */ (jspb.Message.bytesAsB64(\n this.getPaymentPreimage()));\n};\n\n\n/**\n * optional bytes payment_preimage = 2;\n * Note that Uint8Array is not supported on all browsers.\n * @see http://caniuse.com/Uint8Array\n * This is a type-conversion wrapper around `getPaymentPreimage()`\n * @return {!Uint8Array}\n */\nproto.lnrpc.SendResponse.prototype.getPaymentPreimage_asU8 = function() {\n return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(\n this.getPaymentPreimage()));\n};\n\n\n/** @param {!(string|Uint8Array)} value */\nproto.lnrpc.SendResponse.prototype.setPaymentPreimage = function(value) {\n jspb.Message.setField(this, 2, value);\n};\n\n\n/**\n * optional Route payment_route = 3;\n * @return {?proto.lnrpc.Route}\n */\nproto.lnrpc.SendResponse.prototype.getPaymentRoute = function() {\n return /** @type{?proto.lnrpc.Route} */ (\n jspb.Message.getWrapperField(this, proto.lnrpc.Route, 3));\n};\n\n\n/** @param {?proto.lnrpc.Route|undefined} value */\nproto.lnrpc.SendResponse.prototype.setPaymentRoute = function(value) {\n jspb.Message.setWrapperField(this, 3, value);\n};\n\n\nproto.lnrpc.SendResponse.prototype.clearPaymentRoute = function() {\n this.setPaymentRoute(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {!boolean}\n */\nproto.lnrpc.SendResponse.prototype.hasPaymentRoute = function() {\n return jspb.Message.getField(this, 3) != null;\n};\n\n\n/**\n * optional bytes payment_hash = 4;\n * @return {string}\n */\nproto.lnrpc.SendResponse.prototype.getPaymentHash = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"\"));\n};\n\n\n/**\n * optional bytes payment_hash = 4;\n * This is a type-conversion wrapper around `getPaymentHash()`\n * @return {string}\n */\nproto.lnrpc.SendResponse.prototype.getPaymentHash_asB64 = function() {\n return /** @type {string} */ (jspb.Message.bytesAsB64(\n this.getPaymentHash()));\n};\n\n\n/**\n * optional bytes payment_hash = 4;\n * Note that Uint8Array is not supported on all browsers.\n * @see http://caniuse.com/Uint8Array\n * This is a type-conversion wrapper around `getPaymentHash()`\n * @return {!Uint8Array}\n */\nproto.lnrpc.SendResponse.prototype.getPaymentHash_asU8 = function() {\n return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(\n this.getPaymentHash()));\n};\n\n\n/** @param {!(string|Uint8Array)} value */\nproto.lnrpc.SendResponse.prototype.setPaymentHash = function(value) {\n jspb.Message.setField(this, 4, value);\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.lnrpc.SendToRouteRequest = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.lnrpc.SendToRouteRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.lnrpc.SendToRouteRequest.displayName = 'proto.lnrpc.SendToRouteRequest';\n}\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.lnrpc.SendToRouteRequest.prototype.toObject = function(opt_includeInstance) {\n return proto.lnrpc.SendToRouteRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.lnrpc.SendToRouteRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.SendToRouteRequest.toObject = function(includeInstance, msg) {\n var f, obj = {\n paymentHash: msg.getPaymentHash_asB64(),\n paymentHashString: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n route: (f = msg.getRoute()) && proto.lnrpc.Route.toObject(includeInstance, f)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.lnrpc.SendToRouteRequest}\n */\nproto.lnrpc.SendToRouteRequest.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.lnrpc.SendToRouteRequest;\n return proto.lnrpc.SendToRouteRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.lnrpc.SendToRouteRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.lnrpc.SendToRouteRequest}\n */\nproto.lnrpc.SendToRouteRequest.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {!Uint8Array} */ (reader.readBytes());\n msg.setPaymentHash(value);\n break;\n case 2:\n var value = /** @type {string} */ (reader.readString());\n msg.setPaymentHashString(value);\n break;\n case 4:\n var value = new proto.lnrpc.Route;\n reader.readMessage(value,proto.lnrpc.Route.deserializeBinaryFromReader);\n msg.setRoute(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.lnrpc.SendToRouteRequest.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.lnrpc.SendToRouteRequest.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.lnrpc.SendToRouteRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.SendToRouteRequest.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getPaymentHash_asU8();\n if (f.length > 0) {\n writer.writeBytes(\n 1,\n f\n );\n }\n f = message.getPaymentHashString();\n if (f.length > 0) {\n writer.writeString(\n 2,\n f\n );\n }\n f = message.getRoute();\n if (f != null) {\n writer.writeMessage(\n 4,\n f,\n proto.lnrpc.Route.serializeBinaryToWriter\n );\n }\n};\n\n\n/**\n * optional bytes payment_hash = 1;\n * @return {string}\n */\nproto.lnrpc.SendToRouteRequest.prototype.getPaymentHash = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * optional bytes payment_hash = 1;\n * This is a type-conversion wrapper around `getPaymentHash()`\n * @return {string}\n */\nproto.lnrpc.SendToRouteRequest.prototype.getPaymentHash_asB64 = function() {\n return /** @type {string} */ (jspb.Message.bytesAsB64(\n this.getPaymentHash()));\n};\n\n\n/**\n * optional bytes payment_hash = 1;\n * Note that Uint8Array is not supported on all browsers.\n * @see http://caniuse.com/Uint8Array\n * This is a type-conversion wrapper around `getPaymentHash()`\n * @return {!Uint8Array}\n */\nproto.lnrpc.SendToRouteRequest.prototype.getPaymentHash_asU8 = function() {\n return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(\n this.getPaymentHash()));\n};\n\n\n/** @param {!(string|Uint8Array)} value */\nproto.lnrpc.SendToRouteRequest.prototype.setPaymentHash = function(value) {\n jspb.Message.setField(this, 1, value);\n};\n\n\n/**\n * optional string payment_hash_string = 2;\n * @return {string}\n */\nproto.lnrpc.SendToRouteRequest.prototype.getPaymentHashString = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/** @param {string} value */\nproto.lnrpc.SendToRouteRequest.prototype.setPaymentHashString = function(value) {\n jspb.Message.setField(this, 2, value);\n};\n\n\n/**\n * optional Route route = 4;\n * @return {?proto.lnrpc.Route}\n */\nproto.lnrpc.SendToRouteRequest.prototype.getRoute = function() {\n return /** @type{?proto.lnrpc.Route} */ (\n jspb.Message.getWrapperField(this, proto.lnrpc.Route, 4));\n};\n\n\n/** @param {?proto.lnrpc.Route|undefined} value */\nproto.lnrpc.SendToRouteRequest.prototype.setRoute = function(value) {\n jspb.Message.setWrapperField(this, 4, value);\n};\n\n\nproto.lnrpc.SendToRouteRequest.prototype.clearRoute = function() {\n this.setRoute(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {!boolean}\n */\nproto.lnrpc.SendToRouteRequest.prototype.hasRoute = function() {\n return jspb.Message.getField(this, 4) != null;\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.lnrpc.ChannelAcceptRequest = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.lnrpc.ChannelAcceptRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.lnrpc.ChannelAcceptRequest.displayName = 'proto.lnrpc.ChannelAcceptRequest';\n}\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.lnrpc.ChannelAcceptRequest.prototype.toObject = function(opt_includeInstance) {\n return proto.lnrpc.ChannelAcceptRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.lnrpc.ChannelAcceptRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.ChannelAcceptRequest.toObject = function(includeInstance, msg) {\n var f, obj = {\n nodePubkey: msg.getNodePubkey_asB64(),\n chainHash: msg.getChainHash_asB64(),\n pendingChanId: msg.getPendingChanId_asB64(),\n fundingAmt: jspb.Message.getFieldWithDefault(msg, 4, 0),\n pushAmt: jspb.Message.getFieldWithDefault(msg, 5, 0),\n dustLimit: jspb.Message.getFieldWithDefault(msg, 6, 0),\n maxValueInFlight: jspb.Message.getFieldWithDefault(msg, 7, 0),\n channelReserve: jspb.Message.getFieldWithDefault(msg, 8, 0),\n minHtlc: jspb.Message.getFieldWithDefault(msg, 9, 0),\n feePerKw: jspb.Message.getFieldWithDefault(msg, 10, 0),\n csvDelay: jspb.Message.getFieldWithDefault(msg, 11, 0),\n maxAcceptedHtlcs: jspb.Message.getFieldWithDefault(msg, 12, 0),\n channelFlags: jspb.Message.getFieldWithDefault(msg, 13, 0)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.lnrpc.ChannelAcceptRequest}\n */\nproto.lnrpc.ChannelAcceptRequest.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.lnrpc.ChannelAcceptRequest;\n return proto.lnrpc.ChannelAcceptRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.lnrpc.ChannelAcceptRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.lnrpc.ChannelAcceptRequest}\n */\nproto.lnrpc.ChannelAcceptRequest.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {!Uint8Array} */ (reader.readBytes());\n msg.setNodePubkey(value);\n break;\n case 2:\n var value = /** @type {!Uint8Array} */ (reader.readBytes());\n msg.setChainHash(value);\n break;\n case 3:\n var value = /** @type {!Uint8Array} */ (reader.readBytes());\n msg.setPendingChanId(value);\n break;\n case 4:\n var value = /** @type {number} */ (reader.readUint64());\n msg.setFundingAmt(value);\n break;\n case 5:\n var value = /** @type {number} */ (reader.readUint64());\n msg.setPushAmt(value);\n break;\n case 6:\n var value = /** @type {number} */ (reader.readUint64());\n msg.setDustLimit(value);\n break;\n case 7:\n var value = /** @type {number} */ (reader.readUint64());\n msg.setMaxValueInFlight(value);\n break;\n case 8:\n var value = /** @type {number} */ (reader.readUint64());\n msg.setChannelReserve(value);\n break;\n case 9:\n var value = /** @type {number} */ (reader.readUint64());\n msg.setMinHtlc(value);\n break;\n case 10:\n var value = /** @type {number} */ (reader.readUint64());\n msg.setFeePerKw(value);\n break;\n case 11:\n var value = /** @type {number} */ (reader.readUint32());\n msg.setCsvDelay(value);\n break;\n case 12:\n var value = /** @type {number} */ (reader.readUint32());\n msg.setMaxAcceptedHtlcs(value);\n break;\n case 13:\n var value = /** @type {number} */ (reader.readUint32());\n msg.setChannelFlags(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.lnrpc.ChannelAcceptRequest.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.lnrpc.ChannelAcceptRequest.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.lnrpc.ChannelAcceptRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.ChannelAcceptRequest.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getNodePubkey_asU8();\n if (f.length > 0) {\n writer.writeBytes(\n 1,\n f\n );\n }\n f = message.getChainHash_asU8();\n if (f.length > 0) {\n writer.writeBytes(\n 2,\n f\n );\n }\n f = message.getPendingChanId_asU8();\n if (f.length > 0) {\n writer.writeBytes(\n 3,\n f\n );\n }\n f = message.getFundingAmt();\n if (f !== 0) {\n writer.writeUint64(\n 4,\n f\n );\n }\n f = message.getPushAmt();\n if (f !== 0) {\n writer.writeUint64(\n 5,\n f\n );\n }\n f = message.getDustLimit();\n if (f !== 0) {\n writer.writeUint64(\n 6,\n f\n );\n }\n f = message.getMaxValueInFlight();\n if (f !== 0) {\n writer.writeUint64(\n 7,\n f\n );\n }\n f = message.getChannelReserve();\n if (f !== 0) {\n writer.writeUint64(\n 8,\n f\n );\n }\n f = message.getMinHtlc();\n if (f !== 0) {\n writer.writeUint64(\n 9,\n f\n );\n }\n f = message.getFeePerKw();\n if (f !== 0) {\n writer.writeUint64(\n 10,\n f\n );\n }\n f = message.getCsvDelay();\n if (f !== 0) {\n writer.writeUint32(\n 11,\n f\n );\n }\n f = message.getMaxAcceptedHtlcs();\n if (f !== 0) {\n writer.writeUint32(\n 12,\n f\n );\n }\n f = message.getChannelFlags();\n if (f !== 0) {\n writer.writeUint32(\n 13,\n f\n );\n }\n};\n\n\n/**\n * optional bytes node_pubkey = 1;\n * @return {string}\n */\nproto.lnrpc.ChannelAcceptRequest.prototype.getNodePubkey = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * optional bytes node_pubkey = 1;\n * This is a type-conversion wrapper around `getNodePubkey()`\n * @return {string}\n */\nproto.lnrpc.ChannelAcceptRequest.prototype.getNodePubkey_asB64 = function() {\n return /** @type {string} */ (jspb.Message.bytesAsB64(\n this.getNodePubkey()));\n};\n\n\n/**\n * optional bytes node_pubkey = 1;\n * Note that Uint8Array is not supported on all browsers.\n * @see http://caniuse.com/Uint8Array\n * This is a type-conversion wrapper around `getNodePubkey()`\n * @return {!Uint8Array}\n */\nproto.lnrpc.ChannelAcceptRequest.prototype.getNodePubkey_asU8 = function() {\n return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(\n this.getNodePubkey()));\n};\n\n\n/** @param {!(string|Uint8Array)} value */\nproto.lnrpc.ChannelAcceptRequest.prototype.setNodePubkey = function(value) {\n jspb.Message.setField(this, 1, value);\n};\n\n\n/**\n * optional bytes chain_hash = 2;\n * @return {string}\n */\nproto.lnrpc.ChannelAcceptRequest.prototype.getChainHash = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * optional bytes chain_hash = 2;\n * This is a type-conversion wrapper around `getChainHash()`\n * @return {string}\n */\nproto.lnrpc.ChannelAcceptRequest.prototype.getChainHash_asB64 = function() {\n return /** @type {string} */ (jspb.Message.bytesAsB64(\n this.getChainHash()));\n};\n\n\n/**\n * optional bytes chain_hash = 2;\n * Note that Uint8Array is not supported on all browsers.\n * @see http://caniuse.com/Uint8Array\n * This is a type-conversion wrapper around `getChainHash()`\n * @return {!Uint8Array}\n */\nproto.lnrpc.ChannelAcceptRequest.prototype.getChainHash_asU8 = function() {\n return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(\n this.getChainHash()));\n};\n\n\n/** @param {!(string|Uint8Array)} value */\nproto.lnrpc.ChannelAcceptRequest.prototype.setChainHash = function(value) {\n jspb.Message.setField(this, 2, value);\n};\n\n\n/**\n * optional bytes pending_chan_id = 3;\n * @return {string}\n */\nproto.lnrpc.ChannelAcceptRequest.prototype.getPendingChanId = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * optional bytes pending_chan_id = 3;\n * This is a type-conversion wrapper around `getPendingChanId()`\n * @return {string}\n */\nproto.lnrpc.ChannelAcceptRequest.prototype.getPendingChanId_asB64 = function() {\n return /** @type {string} */ (jspb.Message.bytesAsB64(\n this.getPendingChanId()));\n};\n\n\n/**\n * optional bytes pending_chan_id = 3;\n * Note that Uint8Array is not supported on all browsers.\n * @see http://caniuse.com/Uint8Array\n * This is a type-conversion wrapper around `getPendingChanId()`\n * @return {!Uint8Array}\n */\nproto.lnrpc.ChannelAcceptRequest.prototype.getPendingChanId_asU8 = function() {\n return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(\n this.getPendingChanId()));\n};\n\n\n/** @param {!(string|Uint8Array)} value */\nproto.lnrpc.ChannelAcceptRequest.prototype.setPendingChanId = function(value) {\n jspb.Message.setField(this, 3, value);\n};\n\n\n/**\n * optional uint64 funding_amt = 4;\n * @return {number}\n */\nproto.lnrpc.ChannelAcceptRequest.prototype.getFundingAmt = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.ChannelAcceptRequest.prototype.setFundingAmt = function(value) {\n jspb.Message.setField(this, 4, value);\n};\n\n\n/**\n * optional uint64 push_amt = 5;\n * @return {number}\n */\nproto.lnrpc.ChannelAcceptRequest.prototype.getPushAmt = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 5, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.ChannelAcceptRequest.prototype.setPushAmt = function(value) {\n jspb.Message.setField(this, 5, value);\n};\n\n\n/**\n * optional uint64 dust_limit = 6;\n * @return {number}\n */\nproto.lnrpc.ChannelAcceptRequest.prototype.getDustLimit = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 6, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.ChannelAcceptRequest.prototype.setDustLimit = function(value) {\n jspb.Message.setField(this, 6, value);\n};\n\n\n/**\n * optional uint64 max_value_in_flight = 7;\n * @return {number}\n */\nproto.lnrpc.ChannelAcceptRequest.prototype.getMaxValueInFlight = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 7, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.ChannelAcceptRequest.prototype.setMaxValueInFlight = function(value) {\n jspb.Message.setField(this, 7, value);\n};\n\n\n/**\n * optional uint64 channel_reserve = 8;\n * @return {number}\n */\nproto.lnrpc.ChannelAcceptRequest.prototype.getChannelReserve = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 8, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.ChannelAcceptRequest.prototype.setChannelReserve = function(value) {\n jspb.Message.setField(this, 8, value);\n};\n\n\n/**\n * optional uint64 min_htlc = 9;\n * @return {number}\n */\nproto.lnrpc.ChannelAcceptRequest.prototype.getMinHtlc = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 9, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.ChannelAcceptRequest.prototype.setMinHtlc = function(value) {\n jspb.Message.setField(this, 9, value);\n};\n\n\n/**\n * optional uint64 fee_per_kw = 10;\n * @return {number}\n */\nproto.lnrpc.ChannelAcceptRequest.prototype.getFeePerKw = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 10, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.ChannelAcceptRequest.prototype.setFeePerKw = function(value) {\n jspb.Message.setField(this, 10, value);\n};\n\n\n/**\n * optional uint32 csv_delay = 11;\n * @return {number}\n */\nproto.lnrpc.ChannelAcceptRequest.prototype.getCsvDelay = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 11, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.ChannelAcceptRequest.prototype.setCsvDelay = function(value) {\n jspb.Message.setField(this, 11, value);\n};\n\n\n/**\n * optional uint32 max_accepted_htlcs = 12;\n * @return {number}\n */\nproto.lnrpc.ChannelAcceptRequest.prototype.getMaxAcceptedHtlcs = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 12, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.ChannelAcceptRequest.prototype.setMaxAcceptedHtlcs = function(value) {\n jspb.Message.setField(this, 12, value);\n};\n\n\n/**\n * optional uint32 channel_flags = 13;\n * @return {number}\n */\nproto.lnrpc.ChannelAcceptRequest.prototype.getChannelFlags = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 13, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.ChannelAcceptRequest.prototype.setChannelFlags = function(value) {\n jspb.Message.setField(this, 13, value);\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.lnrpc.ChannelAcceptResponse = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.lnrpc.ChannelAcceptResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.lnrpc.ChannelAcceptResponse.displayName = 'proto.lnrpc.ChannelAcceptResponse';\n}\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.lnrpc.ChannelAcceptResponse.prototype.toObject = function(opt_includeInstance) {\n return proto.lnrpc.ChannelAcceptResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.lnrpc.ChannelAcceptResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.ChannelAcceptResponse.toObject = function(includeInstance, msg) {\n var f, obj = {\n accept: jspb.Message.getFieldWithDefault(msg, 1, false),\n pendingChanId: msg.getPendingChanId_asB64()\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.lnrpc.ChannelAcceptResponse}\n */\nproto.lnrpc.ChannelAcceptResponse.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.lnrpc.ChannelAcceptResponse;\n return proto.lnrpc.ChannelAcceptResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.lnrpc.ChannelAcceptResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.lnrpc.ChannelAcceptResponse}\n */\nproto.lnrpc.ChannelAcceptResponse.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setAccept(value);\n break;\n case 2:\n var value = /** @type {!Uint8Array} */ (reader.readBytes());\n msg.setPendingChanId(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.lnrpc.ChannelAcceptResponse.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.lnrpc.ChannelAcceptResponse.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.lnrpc.ChannelAcceptResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.ChannelAcceptResponse.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getAccept();\n if (f) {\n writer.writeBool(\n 1,\n f\n );\n }\n f = message.getPendingChanId_asU8();\n if (f.length > 0) {\n writer.writeBytes(\n 2,\n f\n );\n }\n};\n\n\n/**\n * optional bool accept = 1;\n * Note that Boolean fields may be set to 0/1 when serialized from a Java server.\n * You should avoid comparisons like {@code val === true/false} in those cases.\n * @return {boolean}\n */\nproto.lnrpc.ChannelAcceptResponse.prototype.getAccept = function() {\n return /** @type {boolean} */ (jspb.Message.getFieldWithDefault(this, 1, false));\n};\n\n\n/** @param {boolean} value */\nproto.lnrpc.ChannelAcceptResponse.prototype.setAccept = function(value) {\n jspb.Message.setField(this, 1, value);\n};\n\n\n/**\n * optional bytes pending_chan_id = 2;\n * @return {string}\n */\nproto.lnrpc.ChannelAcceptResponse.prototype.getPendingChanId = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * optional bytes pending_chan_id = 2;\n * This is a type-conversion wrapper around `getPendingChanId()`\n * @return {string}\n */\nproto.lnrpc.ChannelAcceptResponse.prototype.getPendingChanId_asB64 = function() {\n return /** @type {string} */ (jspb.Message.bytesAsB64(\n this.getPendingChanId()));\n};\n\n\n/**\n * optional bytes pending_chan_id = 2;\n * Note that Uint8Array is not supported on all browsers.\n * @see http://caniuse.com/Uint8Array\n * This is a type-conversion wrapper around `getPendingChanId()`\n * @return {!Uint8Array}\n */\nproto.lnrpc.ChannelAcceptResponse.prototype.getPendingChanId_asU8 = function() {\n return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(\n this.getPendingChanId()));\n};\n\n\n/** @param {!(string|Uint8Array)} value */\nproto.lnrpc.ChannelAcceptResponse.prototype.setPendingChanId = function(value) {\n jspb.Message.setField(this, 2, value);\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.lnrpc.ChannelPoint = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, proto.lnrpc.ChannelPoint.oneofGroups_);\n};\ngoog.inherits(proto.lnrpc.ChannelPoint, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.lnrpc.ChannelPoint.displayName = 'proto.lnrpc.ChannelPoint';\n}\n/**\n * Oneof group definitions for this message. Each group defines the field\n * numbers belonging to that group. When of these fields' value is set, all\n * other fields in the group are cleared. During deserialization, if multiple\n * fields are encountered for a group, only the last value seen will be kept.\n * @private {!Array>}\n * @const\n */\nproto.lnrpc.ChannelPoint.oneofGroups_ = [[1,2]];\n\n/**\n * @enum {number}\n */\nproto.lnrpc.ChannelPoint.FundingTxidCase = {\n FUNDING_TXID_NOT_SET: 0,\n FUNDING_TXID_BYTES: 1,\n FUNDING_TXID_STR: 2\n};\n\n/**\n * @return {proto.lnrpc.ChannelPoint.FundingTxidCase}\n */\nproto.lnrpc.ChannelPoint.prototype.getFundingTxidCase = function() {\n return /** @type {proto.lnrpc.ChannelPoint.FundingTxidCase} */(jspb.Message.computeOneofCase(this, proto.lnrpc.ChannelPoint.oneofGroups_[0]));\n};\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.lnrpc.ChannelPoint.prototype.toObject = function(opt_includeInstance) {\n return proto.lnrpc.ChannelPoint.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.lnrpc.ChannelPoint} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.ChannelPoint.toObject = function(includeInstance, msg) {\n var f, obj = {\n fundingTxidBytes: msg.getFundingTxidBytes_asB64(),\n fundingTxidStr: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n outputIndex: jspb.Message.getFieldWithDefault(msg, 3, 0)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.lnrpc.ChannelPoint}\n */\nproto.lnrpc.ChannelPoint.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.lnrpc.ChannelPoint;\n return proto.lnrpc.ChannelPoint.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.lnrpc.ChannelPoint} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.lnrpc.ChannelPoint}\n */\nproto.lnrpc.ChannelPoint.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {!Uint8Array} */ (reader.readBytes());\n msg.setFundingTxidBytes(value);\n break;\n case 2:\n var value = /** @type {string} */ (reader.readString());\n msg.setFundingTxidStr(value);\n break;\n case 3:\n var value = /** @type {number} */ (reader.readUint32());\n msg.setOutputIndex(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.lnrpc.ChannelPoint.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.lnrpc.ChannelPoint.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.lnrpc.ChannelPoint} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.ChannelPoint.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = /** @type {!(string|Uint8Array)} */ (jspb.Message.getField(message, 1));\n if (f != null) {\n writer.writeBytes(\n 1,\n f\n );\n }\n f = /** @type {string} */ (jspb.Message.getField(message, 2));\n if (f != null) {\n writer.writeString(\n 2,\n f\n );\n }\n f = message.getOutputIndex();\n if (f !== 0) {\n writer.writeUint32(\n 3,\n f\n );\n }\n};\n\n\n/**\n * optional bytes funding_txid_bytes = 1;\n * @return {string}\n */\nproto.lnrpc.ChannelPoint.prototype.getFundingTxidBytes = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * optional bytes funding_txid_bytes = 1;\n * This is a type-conversion wrapper around `getFundingTxidBytes()`\n * @return {string}\n */\nproto.lnrpc.ChannelPoint.prototype.getFundingTxidBytes_asB64 = function() {\n return /** @type {string} */ (jspb.Message.bytesAsB64(\n this.getFundingTxidBytes()));\n};\n\n\n/**\n * optional bytes funding_txid_bytes = 1;\n * Note that Uint8Array is not supported on all browsers.\n * @see http://caniuse.com/Uint8Array\n * This is a type-conversion wrapper around `getFundingTxidBytes()`\n * @return {!Uint8Array}\n */\nproto.lnrpc.ChannelPoint.prototype.getFundingTxidBytes_asU8 = function() {\n return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(\n this.getFundingTxidBytes()));\n};\n\n\n/** @param {!(string|Uint8Array)} value */\nproto.lnrpc.ChannelPoint.prototype.setFundingTxidBytes = function(value) {\n jspb.Message.setOneofField(this, 1, proto.lnrpc.ChannelPoint.oneofGroups_[0], value);\n};\n\n\nproto.lnrpc.ChannelPoint.prototype.clearFundingTxidBytes = function() {\n jspb.Message.setOneofField(this, 1, proto.lnrpc.ChannelPoint.oneofGroups_[0], undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {!boolean}\n */\nproto.lnrpc.ChannelPoint.prototype.hasFundingTxidBytes = function() {\n return jspb.Message.getField(this, 1) != null;\n};\n\n\n/**\n * optional string funding_txid_str = 2;\n * @return {string}\n */\nproto.lnrpc.ChannelPoint.prototype.getFundingTxidStr = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/** @param {string} value */\nproto.lnrpc.ChannelPoint.prototype.setFundingTxidStr = function(value) {\n jspb.Message.setOneofField(this, 2, proto.lnrpc.ChannelPoint.oneofGroups_[0], value);\n};\n\n\nproto.lnrpc.ChannelPoint.prototype.clearFundingTxidStr = function() {\n jspb.Message.setOneofField(this, 2, proto.lnrpc.ChannelPoint.oneofGroups_[0], undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {!boolean}\n */\nproto.lnrpc.ChannelPoint.prototype.hasFundingTxidStr = function() {\n return jspb.Message.getField(this, 2) != null;\n};\n\n\n/**\n * optional uint32 output_index = 3;\n * @return {number}\n */\nproto.lnrpc.ChannelPoint.prototype.getOutputIndex = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.ChannelPoint.prototype.setOutputIndex = function(value) {\n jspb.Message.setField(this, 3, value);\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.lnrpc.OutPoint = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.lnrpc.OutPoint, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.lnrpc.OutPoint.displayName = 'proto.lnrpc.OutPoint';\n}\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.lnrpc.OutPoint.prototype.toObject = function(opt_includeInstance) {\n return proto.lnrpc.OutPoint.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.lnrpc.OutPoint} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.OutPoint.toObject = function(includeInstance, msg) {\n var f, obj = {\n txidBytes: msg.getTxidBytes_asB64(),\n txidStr: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n outputIndex: jspb.Message.getFieldWithDefault(msg, 3, 0)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.lnrpc.OutPoint}\n */\nproto.lnrpc.OutPoint.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.lnrpc.OutPoint;\n return proto.lnrpc.OutPoint.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.lnrpc.OutPoint} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.lnrpc.OutPoint}\n */\nproto.lnrpc.OutPoint.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {!Uint8Array} */ (reader.readBytes());\n msg.setTxidBytes(value);\n break;\n case 2:\n var value = /** @type {string} */ (reader.readString());\n msg.setTxidStr(value);\n break;\n case 3:\n var value = /** @type {number} */ (reader.readUint32());\n msg.setOutputIndex(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.lnrpc.OutPoint.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.lnrpc.OutPoint.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.lnrpc.OutPoint} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.OutPoint.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getTxidBytes_asU8();\n if (f.length > 0) {\n writer.writeBytes(\n 1,\n f\n );\n }\n f = message.getTxidStr();\n if (f.length > 0) {\n writer.writeString(\n 2,\n f\n );\n }\n f = message.getOutputIndex();\n if (f !== 0) {\n writer.writeUint32(\n 3,\n f\n );\n }\n};\n\n\n/**\n * optional bytes txid_bytes = 1;\n * @return {string}\n */\nproto.lnrpc.OutPoint.prototype.getTxidBytes = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * optional bytes txid_bytes = 1;\n * This is a type-conversion wrapper around `getTxidBytes()`\n * @return {string}\n */\nproto.lnrpc.OutPoint.prototype.getTxidBytes_asB64 = function() {\n return /** @type {string} */ (jspb.Message.bytesAsB64(\n this.getTxidBytes()));\n};\n\n\n/**\n * optional bytes txid_bytes = 1;\n * Note that Uint8Array is not supported on all browsers.\n * @see http://caniuse.com/Uint8Array\n * This is a type-conversion wrapper around `getTxidBytes()`\n * @return {!Uint8Array}\n */\nproto.lnrpc.OutPoint.prototype.getTxidBytes_asU8 = function() {\n return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(\n this.getTxidBytes()));\n};\n\n\n/** @param {!(string|Uint8Array)} value */\nproto.lnrpc.OutPoint.prototype.setTxidBytes = function(value) {\n jspb.Message.setField(this, 1, value);\n};\n\n\n/**\n * optional string txid_str = 2;\n * @return {string}\n */\nproto.lnrpc.OutPoint.prototype.getTxidStr = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/** @param {string} value */\nproto.lnrpc.OutPoint.prototype.setTxidStr = function(value) {\n jspb.Message.setField(this, 2, value);\n};\n\n\n/**\n * optional uint32 output_index = 3;\n * @return {number}\n */\nproto.lnrpc.OutPoint.prototype.getOutputIndex = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.OutPoint.prototype.setOutputIndex = function(value) {\n jspb.Message.setField(this, 3, value);\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.lnrpc.LightningAddress = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.lnrpc.LightningAddress, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.lnrpc.LightningAddress.displayName = 'proto.lnrpc.LightningAddress';\n}\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.lnrpc.LightningAddress.prototype.toObject = function(opt_includeInstance) {\n return proto.lnrpc.LightningAddress.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.lnrpc.LightningAddress} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.LightningAddress.toObject = function(includeInstance, msg) {\n var f, obj = {\n pubkey: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n host: jspb.Message.getFieldWithDefault(msg, 2, \"\")\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.lnrpc.LightningAddress}\n */\nproto.lnrpc.LightningAddress.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.lnrpc.LightningAddress;\n return proto.lnrpc.LightningAddress.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.lnrpc.LightningAddress} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.lnrpc.LightningAddress}\n */\nproto.lnrpc.LightningAddress.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setPubkey(value);\n break;\n case 2:\n var value = /** @type {string} */ (reader.readString());\n msg.setHost(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.lnrpc.LightningAddress.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.lnrpc.LightningAddress.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.lnrpc.LightningAddress} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.LightningAddress.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getPubkey();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n f = message.getHost();\n if (f.length > 0) {\n writer.writeString(\n 2,\n f\n );\n }\n};\n\n\n/**\n * optional string pubkey = 1;\n * @return {string}\n */\nproto.lnrpc.LightningAddress.prototype.getPubkey = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/** @param {string} value */\nproto.lnrpc.LightningAddress.prototype.setPubkey = function(value) {\n jspb.Message.setField(this, 1, value);\n};\n\n\n/**\n * optional string host = 2;\n * @return {string}\n */\nproto.lnrpc.LightningAddress.prototype.getHost = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/** @param {string} value */\nproto.lnrpc.LightningAddress.prototype.setHost = function(value) {\n jspb.Message.setField(this, 2, value);\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.lnrpc.EstimateFeeRequest = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.lnrpc.EstimateFeeRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.lnrpc.EstimateFeeRequest.displayName = 'proto.lnrpc.EstimateFeeRequest';\n}\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.lnrpc.EstimateFeeRequest.prototype.toObject = function(opt_includeInstance) {\n return proto.lnrpc.EstimateFeeRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.lnrpc.EstimateFeeRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.EstimateFeeRequest.toObject = function(includeInstance, msg) {\n var f, obj = {\n addrtoamountMap: (f = msg.getAddrtoamountMap()) ? f.toObject(includeInstance, undefined) : [],\n targetConf: jspb.Message.getFieldWithDefault(msg, 2, 0)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.lnrpc.EstimateFeeRequest}\n */\nproto.lnrpc.EstimateFeeRequest.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.lnrpc.EstimateFeeRequest;\n return proto.lnrpc.EstimateFeeRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.lnrpc.EstimateFeeRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.lnrpc.EstimateFeeRequest}\n */\nproto.lnrpc.EstimateFeeRequest.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = msg.getAddrtoamountMap();\n reader.readMessage(value, function(message, reader) {\n jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readString, jspb.BinaryReader.prototype.readInt64);\n });\n break;\n case 2:\n var value = /** @type {number} */ (reader.readInt32());\n msg.setTargetConf(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.lnrpc.EstimateFeeRequest.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.lnrpc.EstimateFeeRequest.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.lnrpc.EstimateFeeRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.EstimateFeeRequest.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getAddrtoamountMap(true);\n if (f && f.getLength() > 0) {\n f.serializeBinary(1, writer, jspb.BinaryWriter.prototype.writeString, jspb.BinaryWriter.prototype.writeInt64);\n }\n f = message.getTargetConf();\n if (f !== 0) {\n writer.writeInt32(\n 2,\n f\n );\n }\n};\n\n\n/**\n * map AddrToAmount = 1;\n * @param {boolean=} opt_noLazyCreate Do not create the map if\n * empty, instead returning `undefined`\n * @return {!jspb.Map}\n */\nproto.lnrpc.EstimateFeeRequest.prototype.getAddrtoamountMap = function(opt_noLazyCreate) {\n return /** @type {!jspb.Map} */ (\n jspb.Message.getMapField(this, 1, opt_noLazyCreate,\n null));\n};\n\n\nproto.lnrpc.EstimateFeeRequest.prototype.clearAddrtoamountMap = function() {\n this.getAddrtoamountMap().clear();\n};\n\n\n/**\n * optional int32 target_conf = 2;\n * @return {number}\n */\nproto.lnrpc.EstimateFeeRequest.prototype.getTargetConf = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.EstimateFeeRequest.prototype.setTargetConf = function(value) {\n jspb.Message.setField(this, 2, value);\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.lnrpc.EstimateFeeResponse = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.lnrpc.EstimateFeeResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.lnrpc.EstimateFeeResponse.displayName = 'proto.lnrpc.EstimateFeeResponse';\n}\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.lnrpc.EstimateFeeResponse.prototype.toObject = function(opt_includeInstance) {\n return proto.lnrpc.EstimateFeeResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.lnrpc.EstimateFeeResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.EstimateFeeResponse.toObject = function(includeInstance, msg) {\n var f, obj = {\n feeSat: jspb.Message.getFieldWithDefault(msg, 1, 0),\n feerateSatPerByte: jspb.Message.getFieldWithDefault(msg, 2, 0)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.lnrpc.EstimateFeeResponse}\n */\nproto.lnrpc.EstimateFeeResponse.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.lnrpc.EstimateFeeResponse;\n return proto.lnrpc.EstimateFeeResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.lnrpc.EstimateFeeResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.lnrpc.EstimateFeeResponse}\n */\nproto.lnrpc.EstimateFeeResponse.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {number} */ (reader.readInt64());\n msg.setFeeSat(value);\n break;\n case 2:\n var value = /** @type {number} */ (reader.readInt64());\n msg.setFeerateSatPerByte(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.lnrpc.EstimateFeeResponse.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.lnrpc.EstimateFeeResponse.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.lnrpc.EstimateFeeResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.EstimateFeeResponse.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getFeeSat();\n if (f !== 0) {\n writer.writeInt64(\n 1,\n f\n );\n }\n f = message.getFeerateSatPerByte();\n if (f !== 0) {\n writer.writeInt64(\n 2,\n f\n );\n }\n};\n\n\n/**\n * optional int64 fee_sat = 1;\n * @return {number}\n */\nproto.lnrpc.EstimateFeeResponse.prototype.getFeeSat = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.EstimateFeeResponse.prototype.setFeeSat = function(value) {\n jspb.Message.setField(this, 1, value);\n};\n\n\n/**\n * optional int64 feerate_sat_per_byte = 2;\n * @return {number}\n */\nproto.lnrpc.EstimateFeeResponse.prototype.getFeerateSatPerByte = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.EstimateFeeResponse.prototype.setFeerateSatPerByte = function(value) {\n jspb.Message.setField(this, 2, value);\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.lnrpc.SendManyRequest = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.lnrpc.SendManyRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.lnrpc.SendManyRequest.displayName = 'proto.lnrpc.SendManyRequest';\n}\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.lnrpc.SendManyRequest.prototype.toObject = function(opt_includeInstance) {\n return proto.lnrpc.SendManyRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.lnrpc.SendManyRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.SendManyRequest.toObject = function(includeInstance, msg) {\n var f, obj = {\n addrtoamountMap: (f = msg.getAddrtoamountMap()) ? f.toObject(includeInstance, undefined) : [],\n targetConf: jspb.Message.getFieldWithDefault(msg, 3, 0),\n satPerByte: jspb.Message.getFieldWithDefault(msg, 5, 0),\n label: jspb.Message.getFieldWithDefault(msg, 6, \"\")\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.lnrpc.SendManyRequest}\n */\nproto.lnrpc.SendManyRequest.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.lnrpc.SendManyRequest;\n return proto.lnrpc.SendManyRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.lnrpc.SendManyRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.lnrpc.SendManyRequest}\n */\nproto.lnrpc.SendManyRequest.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = msg.getAddrtoamountMap();\n reader.readMessage(value, function(message, reader) {\n jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readString, jspb.BinaryReader.prototype.readInt64);\n });\n break;\n case 3:\n var value = /** @type {number} */ (reader.readInt32());\n msg.setTargetConf(value);\n break;\n case 5:\n var value = /** @type {number} */ (reader.readInt64());\n msg.setSatPerByte(value);\n break;\n case 6:\n var value = /** @type {string} */ (reader.readString());\n msg.setLabel(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.lnrpc.SendManyRequest.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.lnrpc.SendManyRequest.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.lnrpc.SendManyRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.SendManyRequest.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getAddrtoamountMap(true);\n if (f && f.getLength() > 0) {\n f.serializeBinary(1, writer, jspb.BinaryWriter.prototype.writeString, jspb.BinaryWriter.prototype.writeInt64);\n }\n f = message.getTargetConf();\n if (f !== 0) {\n writer.writeInt32(\n 3,\n f\n );\n }\n f = message.getSatPerByte();\n if (f !== 0) {\n writer.writeInt64(\n 5,\n f\n );\n }\n f = message.getLabel();\n if (f.length > 0) {\n writer.writeString(\n 6,\n f\n );\n }\n};\n\n\n/**\n * map AddrToAmount = 1;\n * @param {boolean=} opt_noLazyCreate Do not create the map if\n * empty, instead returning `undefined`\n * @return {!jspb.Map}\n */\nproto.lnrpc.SendManyRequest.prototype.getAddrtoamountMap = function(opt_noLazyCreate) {\n return /** @type {!jspb.Map} */ (\n jspb.Message.getMapField(this, 1, opt_noLazyCreate,\n null));\n};\n\n\nproto.lnrpc.SendManyRequest.prototype.clearAddrtoamountMap = function() {\n this.getAddrtoamountMap().clear();\n};\n\n\n/**\n * optional int32 target_conf = 3;\n * @return {number}\n */\nproto.lnrpc.SendManyRequest.prototype.getTargetConf = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.SendManyRequest.prototype.setTargetConf = function(value) {\n jspb.Message.setField(this, 3, value);\n};\n\n\n/**\n * optional int64 sat_per_byte = 5;\n * @return {number}\n */\nproto.lnrpc.SendManyRequest.prototype.getSatPerByte = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 5, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.SendManyRequest.prototype.setSatPerByte = function(value) {\n jspb.Message.setField(this, 5, value);\n};\n\n\n/**\n * optional string label = 6;\n * @return {string}\n */\nproto.lnrpc.SendManyRequest.prototype.getLabel = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 6, \"\"));\n};\n\n\n/** @param {string} value */\nproto.lnrpc.SendManyRequest.prototype.setLabel = function(value) {\n jspb.Message.setField(this, 6, value);\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.lnrpc.SendManyResponse = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.lnrpc.SendManyResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.lnrpc.SendManyResponse.displayName = 'proto.lnrpc.SendManyResponse';\n}\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.lnrpc.SendManyResponse.prototype.toObject = function(opt_includeInstance) {\n return proto.lnrpc.SendManyResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.lnrpc.SendManyResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.SendManyResponse.toObject = function(includeInstance, msg) {\n var f, obj = {\n txid: jspb.Message.getFieldWithDefault(msg, 1, \"\")\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.lnrpc.SendManyResponse}\n */\nproto.lnrpc.SendManyResponse.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.lnrpc.SendManyResponse;\n return proto.lnrpc.SendManyResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.lnrpc.SendManyResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.lnrpc.SendManyResponse}\n */\nproto.lnrpc.SendManyResponse.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setTxid(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.lnrpc.SendManyResponse.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.lnrpc.SendManyResponse.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.lnrpc.SendManyResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.SendManyResponse.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getTxid();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n};\n\n\n/**\n * optional string txid = 1;\n * @return {string}\n */\nproto.lnrpc.SendManyResponse.prototype.getTxid = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/** @param {string} value */\nproto.lnrpc.SendManyResponse.prototype.setTxid = function(value) {\n jspb.Message.setField(this, 1, value);\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.lnrpc.SendCoinsRequest = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.lnrpc.SendCoinsRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.lnrpc.SendCoinsRequest.displayName = 'proto.lnrpc.SendCoinsRequest';\n}\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.lnrpc.SendCoinsRequest.prototype.toObject = function(opt_includeInstance) {\n return proto.lnrpc.SendCoinsRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.lnrpc.SendCoinsRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.SendCoinsRequest.toObject = function(includeInstance, msg) {\n var f, obj = {\n addr: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n amount: jspb.Message.getFieldWithDefault(msg, 2, 0),\n targetConf: jspb.Message.getFieldWithDefault(msg, 3, 0),\n satPerByte: jspb.Message.getFieldWithDefault(msg, 5, 0),\n sendAll: jspb.Message.getFieldWithDefault(msg, 6, false),\n label: jspb.Message.getFieldWithDefault(msg, 7, \"\")\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.lnrpc.SendCoinsRequest}\n */\nproto.lnrpc.SendCoinsRequest.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.lnrpc.SendCoinsRequest;\n return proto.lnrpc.SendCoinsRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.lnrpc.SendCoinsRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.lnrpc.SendCoinsRequest}\n */\nproto.lnrpc.SendCoinsRequest.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setAddr(value);\n break;\n case 2:\n var value = /** @type {number} */ (reader.readInt64());\n msg.setAmount(value);\n break;\n case 3:\n var value = /** @type {number} */ (reader.readInt32());\n msg.setTargetConf(value);\n break;\n case 5:\n var value = /** @type {number} */ (reader.readInt64());\n msg.setSatPerByte(value);\n break;\n case 6:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setSendAll(value);\n break;\n case 7:\n var value = /** @type {string} */ (reader.readString());\n msg.setLabel(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.lnrpc.SendCoinsRequest.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.lnrpc.SendCoinsRequest.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.lnrpc.SendCoinsRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.SendCoinsRequest.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getAddr();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n f = message.getAmount();\n if (f !== 0) {\n writer.writeInt64(\n 2,\n f\n );\n }\n f = message.getTargetConf();\n if (f !== 0) {\n writer.writeInt32(\n 3,\n f\n );\n }\n f = message.getSatPerByte();\n if (f !== 0) {\n writer.writeInt64(\n 5,\n f\n );\n }\n f = message.getSendAll();\n if (f) {\n writer.writeBool(\n 6,\n f\n );\n }\n f = message.getLabel();\n if (f.length > 0) {\n writer.writeString(\n 7,\n f\n );\n }\n};\n\n\n/**\n * optional string addr = 1;\n * @return {string}\n */\nproto.lnrpc.SendCoinsRequest.prototype.getAddr = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/** @param {string} value */\nproto.lnrpc.SendCoinsRequest.prototype.setAddr = function(value) {\n jspb.Message.setField(this, 1, value);\n};\n\n\n/**\n * optional int64 amount = 2;\n * @return {number}\n */\nproto.lnrpc.SendCoinsRequest.prototype.getAmount = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.SendCoinsRequest.prototype.setAmount = function(value) {\n jspb.Message.setField(this, 2, value);\n};\n\n\n/**\n * optional int32 target_conf = 3;\n * @return {number}\n */\nproto.lnrpc.SendCoinsRequest.prototype.getTargetConf = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.SendCoinsRequest.prototype.setTargetConf = function(value) {\n jspb.Message.setField(this, 3, value);\n};\n\n\n/**\n * optional int64 sat_per_byte = 5;\n * @return {number}\n */\nproto.lnrpc.SendCoinsRequest.prototype.getSatPerByte = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 5, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.SendCoinsRequest.prototype.setSatPerByte = function(value) {\n jspb.Message.setField(this, 5, value);\n};\n\n\n/**\n * optional bool send_all = 6;\n * Note that Boolean fields may be set to 0/1 when serialized from a Java server.\n * You should avoid comparisons like {@code val === true/false} in those cases.\n * @return {boolean}\n */\nproto.lnrpc.SendCoinsRequest.prototype.getSendAll = function() {\n return /** @type {boolean} */ (jspb.Message.getFieldWithDefault(this, 6, false));\n};\n\n\n/** @param {boolean} value */\nproto.lnrpc.SendCoinsRequest.prototype.setSendAll = function(value) {\n jspb.Message.setField(this, 6, value);\n};\n\n\n/**\n * optional string label = 7;\n * @return {string}\n */\nproto.lnrpc.SendCoinsRequest.prototype.getLabel = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 7, \"\"));\n};\n\n\n/** @param {string} value */\nproto.lnrpc.SendCoinsRequest.prototype.setLabel = function(value) {\n jspb.Message.setField(this, 7, value);\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.lnrpc.SendCoinsResponse = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.lnrpc.SendCoinsResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.lnrpc.SendCoinsResponse.displayName = 'proto.lnrpc.SendCoinsResponse';\n}\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.lnrpc.SendCoinsResponse.prototype.toObject = function(opt_includeInstance) {\n return proto.lnrpc.SendCoinsResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.lnrpc.SendCoinsResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.SendCoinsResponse.toObject = function(includeInstance, msg) {\n var f, obj = {\n txid: jspb.Message.getFieldWithDefault(msg, 1, \"\")\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.lnrpc.SendCoinsResponse}\n */\nproto.lnrpc.SendCoinsResponse.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.lnrpc.SendCoinsResponse;\n return proto.lnrpc.SendCoinsResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.lnrpc.SendCoinsResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.lnrpc.SendCoinsResponse}\n */\nproto.lnrpc.SendCoinsResponse.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setTxid(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.lnrpc.SendCoinsResponse.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.lnrpc.SendCoinsResponse.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.lnrpc.SendCoinsResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.SendCoinsResponse.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getTxid();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n};\n\n\n/**\n * optional string txid = 1;\n * @return {string}\n */\nproto.lnrpc.SendCoinsResponse.prototype.getTxid = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/** @param {string} value */\nproto.lnrpc.SendCoinsResponse.prototype.setTxid = function(value) {\n jspb.Message.setField(this, 1, value);\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.lnrpc.ListUnspentRequest = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.lnrpc.ListUnspentRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.lnrpc.ListUnspentRequest.displayName = 'proto.lnrpc.ListUnspentRequest';\n}\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.lnrpc.ListUnspentRequest.prototype.toObject = function(opt_includeInstance) {\n return proto.lnrpc.ListUnspentRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.lnrpc.ListUnspentRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.ListUnspentRequest.toObject = function(includeInstance, msg) {\n var f, obj = {\n minConfs: jspb.Message.getFieldWithDefault(msg, 1, 0),\n maxConfs: jspb.Message.getFieldWithDefault(msg, 2, 0)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.lnrpc.ListUnspentRequest}\n */\nproto.lnrpc.ListUnspentRequest.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.lnrpc.ListUnspentRequest;\n return proto.lnrpc.ListUnspentRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.lnrpc.ListUnspentRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.lnrpc.ListUnspentRequest}\n */\nproto.lnrpc.ListUnspentRequest.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {number} */ (reader.readInt32());\n msg.setMinConfs(value);\n break;\n case 2:\n var value = /** @type {number} */ (reader.readInt32());\n msg.setMaxConfs(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.lnrpc.ListUnspentRequest.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.lnrpc.ListUnspentRequest.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.lnrpc.ListUnspentRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.ListUnspentRequest.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getMinConfs();\n if (f !== 0) {\n writer.writeInt32(\n 1,\n f\n );\n }\n f = message.getMaxConfs();\n if (f !== 0) {\n writer.writeInt32(\n 2,\n f\n );\n }\n};\n\n\n/**\n * optional int32 min_confs = 1;\n * @return {number}\n */\nproto.lnrpc.ListUnspentRequest.prototype.getMinConfs = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.ListUnspentRequest.prototype.setMinConfs = function(value) {\n jspb.Message.setField(this, 1, value);\n};\n\n\n/**\n * optional int32 max_confs = 2;\n * @return {number}\n */\nproto.lnrpc.ListUnspentRequest.prototype.getMaxConfs = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.ListUnspentRequest.prototype.setMaxConfs = function(value) {\n jspb.Message.setField(this, 2, value);\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.lnrpc.ListUnspentResponse = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, proto.lnrpc.ListUnspentResponse.repeatedFields_, null);\n};\ngoog.inherits(proto.lnrpc.ListUnspentResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.lnrpc.ListUnspentResponse.displayName = 'proto.lnrpc.ListUnspentResponse';\n}\n/**\n * List of repeated fields within this message type.\n * @private {!Array}\n * @const\n */\nproto.lnrpc.ListUnspentResponse.repeatedFields_ = [1];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.lnrpc.ListUnspentResponse.prototype.toObject = function(opt_includeInstance) {\n return proto.lnrpc.ListUnspentResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.lnrpc.ListUnspentResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.ListUnspentResponse.toObject = function(includeInstance, msg) {\n var f, obj = {\n utxosList: jspb.Message.toObjectList(msg.getUtxosList(),\n proto.lnrpc.Utxo.toObject, includeInstance)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.lnrpc.ListUnspentResponse}\n */\nproto.lnrpc.ListUnspentResponse.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.lnrpc.ListUnspentResponse;\n return proto.lnrpc.ListUnspentResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.lnrpc.ListUnspentResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.lnrpc.ListUnspentResponse}\n */\nproto.lnrpc.ListUnspentResponse.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = new proto.lnrpc.Utxo;\n reader.readMessage(value,proto.lnrpc.Utxo.deserializeBinaryFromReader);\n msg.addUtxos(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.lnrpc.ListUnspentResponse.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.lnrpc.ListUnspentResponse.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.lnrpc.ListUnspentResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.ListUnspentResponse.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getUtxosList();\n if (f.length > 0) {\n writer.writeRepeatedMessage(\n 1,\n f,\n proto.lnrpc.Utxo.serializeBinaryToWriter\n );\n }\n};\n\n\n/**\n * repeated Utxo utxos = 1;\n * @return {!Array.}\n */\nproto.lnrpc.ListUnspentResponse.prototype.getUtxosList = function() {\n return /** @type{!Array.} */ (\n jspb.Message.getRepeatedWrapperField(this, proto.lnrpc.Utxo, 1));\n};\n\n\n/** @param {!Array.} value */\nproto.lnrpc.ListUnspentResponse.prototype.setUtxosList = function(value) {\n jspb.Message.setRepeatedWrapperField(this, 1, value);\n};\n\n\n/**\n * @param {!proto.lnrpc.Utxo=} opt_value\n * @param {number=} opt_index\n * @return {!proto.lnrpc.Utxo}\n */\nproto.lnrpc.ListUnspentResponse.prototype.addUtxos = function(opt_value, opt_index) {\n return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.lnrpc.Utxo, opt_index);\n};\n\n\nproto.lnrpc.ListUnspentResponse.prototype.clearUtxosList = function() {\n this.setUtxosList([]);\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.lnrpc.NewAddressRequest = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.lnrpc.NewAddressRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.lnrpc.NewAddressRequest.displayName = 'proto.lnrpc.NewAddressRequest';\n}\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.lnrpc.NewAddressRequest.prototype.toObject = function(opt_includeInstance) {\n return proto.lnrpc.NewAddressRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.lnrpc.NewAddressRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.NewAddressRequest.toObject = function(includeInstance, msg) {\n var f, obj = {\n type: jspb.Message.getFieldWithDefault(msg, 1, 0)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.lnrpc.NewAddressRequest}\n */\nproto.lnrpc.NewAddressRequest.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.lnrpc.NewAddressRequest;\n return proto.lnrpc.NewAddressRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.lnrpc.NewAddressRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.lnrpc.NewAddressRequest}\n */\nproto.lnrpc.NewAddressRequest.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {!proto.lnrpc.AddressType} */ (reader.readEnum());\n msg.setType(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.lnrpc.NewAddressRequest.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.lnrpc.NewAddressRequest.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.lnrpc.NewAddressRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.NewAddressRequest.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getType();\n if (f !== 0.0) {\n writer.writeEnum(\n 1,\n f\n );\n }\n};\n\n\n/**\n * optional AddressType type = 1;\n * @return {!proto.lnrpc.AddressType}\n */\nproto.lnrpc.NewAddressRequest.prototype.getType = function() {\n return /** @type {!proto.lnrpc.AddressType} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/** @param {!proto.lnrpc.AddressType} value */\nproto.lnrpc.NewAddressRequest.prototype.setType = function(value) {\n jspb.Message.setField(this, 1, value);\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.lnrpc.NewAddressResponse = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.lnrpc.NewAddressResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.lnrpc.NewAddressResponse.displayName = 'proto.lnrpc.NewAddressResponse';\n}\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.lnrpc.NewAddressResponse.prototype.toObject = function(opt_includeInstance) {\n return proto.lnrpc.NewAddressResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.lnrpc.NewAddressResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.NewAddressResponse.toObject = function(includeInstance, msg) {\n var f, obj = {\n address: jspb.Message.getFieldWithDefault(msg, 1, \"\")\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.lnrpc.NewAddressResponse}\n */\nproto.lnrpc.NewAddressResponse.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.lnrpc.NewAddressResponse;\n return proto.lnrpc.NewAddressResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.lnrpc.NewAddressResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.lnrpc.NewAddressResponse}\n */\nproto.lnrpc.NewAddressResponse.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setAddress(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.lnrpc.NewAddressResponse.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.lnrpc.NewAddressResponse.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.lnrpc.NewAddressResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.NewAddressResponse.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getAddress();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n};\n\n\n/**\n * optional string address = 1;\n * @return {string}\n */\nproto.lnrpc.NewAddressResponse.prototype.getAddress = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/** @param {string} value */\nproto.lnrpc.NewAddressResponse.prototype.setAddress = function(value) {\n jspb.Message.setField(this, 1, value);\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.lnrpc.SignMessageRequest = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.lnrpc.SignMessageRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.lnrpc.SignMessageRequest.displayName = 'proto.lnrpc.SignMessageRequest';\n}\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.lnrpc.SignMessageRequest.prototype.toObject = function(opt_includeInstance) {\n return proto.lnrpc.SignMessageRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.lnrpc.SignMessageRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.SignMessageRequest.toObject = function(includeInstance, msg) {\n var f, obj = {\n msg: msg.getMsg_asB64()\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.lnrpc.SignMessageRequest}\n */\nproto.lnrpc.SignMessageRequest.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.lnrpc.SignMessageRequest;\n return proto.lnrpc.SignMessageRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.lnrpc.SignMessageRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.lnrpc.SignMessageRequest}\n */\nproto.lnrpc.SignMessageRequest.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {!Uint8Array} */ (reader.readBytes());\n msg.setMsg(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.lnrpc.SignMessageRequest.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.lnrpc.SignMessageRequest.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.lnrpc.SignMessageRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.SignMessageRequest.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getMsg_asU8();\n if (f.length > 0) {\n writer.writeBytes(\n 1,\n f\n );\n }\n};\n\n\n/**\n * optional bytes msg = 1;\n * @return {string}\n */\nproto.lnrpc.SignMessageRequest.prototype.getMsg = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * optional bytes msg = 1;\n * This is a type-conversion wrapper around `getMsg()`\n * @return {string}\n */\nproto.lnrpc.SignMessageRequest.prototype.getMsg_asB64 = function() {\n return /** @type {string} */ (jspb.Message.bytesAsB64(\n this.getMsg()));\n};\n\n\n/**\n * optional bytes msg = 1;\n * Note that Uint8Array is not supported on all browsers.\n * @see http://caniuse.com/Uint8Array\n * This is a type-conversion wrapper around `getMsg()`\n * @return {!Uint8Array}\n */\nproto.lnrpc.SignMessageRequest.prototype.getMsg_asU8 = function() {\n return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(\n this.getMsg()));\n};\n\n\n/** @param {!(string|Uint8Array)} value */\nproto.lnrpc.SignMessageRequest.prototype.setMsg = function(value) {\n jspb.Message.setField(this, 1, value);\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.lnrpc.SignMessageResponse = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.lnrpc.SignMessageResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.lnrpc.SignMessageResponse.displayName = 'proto.lnrpc.SignMessageResponse';\n}\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.lnrpc.SignMessageResponse.prototype.toObject = function(opt_includeInstance) {\n return proto.lnrpc.SignMessageResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.lnrpc.SignMessageResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.SignMessageResponse.toObject = function(includeInstance, msg) {\n var f, obj = {\n signature: jspb.Message.getFieldWithDefault(msg, 1, \"\")\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.lnrpc.SignMessageResponse}\n */\nproto.lnrpc.SignMessageResponse.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.lnrpc.SignMessageResponse;\n return proto.lnrpc.SignMessageResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.lnrpc.SignMessageResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.lnrpc.SignMessageResponse}\n */\nproto.lnrpc.SignMessageResponse.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setSignature(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.lnrpc.SignMessageResponse.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.lnrpc.SignMessageResponse.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.lnrpc.SignMessageResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.SignMessageResponse.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getSignature();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n};\n\n\n/**\n * optional string signature = 1;\n * @return {string}\n */\nproto.lnrpc.SignMessageResponse.prototype.getSignature = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/** @param {string} value */\nproto.lnrpc.SignMessageResponse.prototype.setSignature = function(value) {\n jspb.Message.setField(this, 1, value);\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.lnrpc.VerifyMessageRequest = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.lnrpc.VerifyMessageRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.lnrpc.VerifyMessageRequest.displayName = 'proto.lnrpc.VerifyMessageRequest';\n}\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.lnrpc.VerifyMessageRequest.prototype.toObject = function(opt_includeInstance) {\n return proto.lnrpc.VerifyMessageRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.lnrpc.VerifyMessageRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.VerifyMessageRequest.toObject = function(includeInstance, msg) {\n var f, obj = {\n msg: msg.getMsg_asB64(),\n signature: jspb.Message.getFieldWithDefault(msg, 2, \"\")\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.lnrpc.VerifyMessageRequest}\n */\nproto.lnrpc.VerifyMessageRequest.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.lnrpc.VerifyMessageRequest;\n return proto.lnrpc.VerifyMessageRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.lnrpc.VerifyMessageRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.lnrpc.VerifyMessageRequest}\n */\nproto.lnrpc.VerifyMessageRequest.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {!Uint8Array} */ (reader.readBytes());\n msg.setMsg(value);\n break;\n case 2:\n var value = /** @type {string} */ (reader.readString());\n msg.setSignature(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.lnrpc.VerifyMessageRequest.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.lnrpc.VerifyMessageRequest.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.lnrpc.VerifyMessageRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.VerifyMessageRequest.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getMsg_asU8();\n if (f.length > 0) {\n writer.writeBytes(\n 1,\n f\n );\n }\n f = message.getSignature();\n if (f.length > 0) {\n writer.writeString(\n 2,\n f\n );\n }\n};\n\n\n/**\n * optional bytes msg = 1;\n * @return {string}\n */\nproto.lnrpc.VerifyMessageRequest.prototype.getMsg = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * optional bytes msg = 1;\n * This is a type-conversion wrapper around `getMsg()`\n * @return {string}\n */\nproto.lnrpc.VerifyMessageRequest.prototype.getMsg_asB64 = function() {\n return /** @type {string} */ (jspb.Message.bytesAsB64(\n this.getMsg()));\n};\n\n\n/**\n * optional bytes msg = 1;\n * Note that Uint8Array is not supported on all browsers.\n * @see http://caniuse.com/Uint8Array\n * This is a type-conversion wrapper around `getMsg()`\n * @return {!Uint8Array}\n */\nproto.lnrpc.VerifyMessageRequest.prototype.getMsg_asU8 = function() {\n return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(\n this.getMsg()));\n};\n\n\n/** @param {!(string|Uint8Array)} value */\nproto.lnrpc.VerifyMessageRequest.prototype.setMsg = function(value) {\n jspb.Message.setField(this, 1, value);\n};\n\n\n/**\n * optional string signature = 2;\n * @return {string}\n */\nproto.lnrpc.VerifyMessageRequest.prototype.getSignature = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/** @param {string} value */\nproto.lnrpc.VerifyMessageRequest.prototype.setSignature = function(value) {\n jspb.Message.setField(this, 2, value);\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.lnrpc.VerifyMessageResponse = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.lnrpc.VerifyMessageResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.lnrpc.VerifyMessageResponse.displayName = 'proto.lnrpc.VerifyMessageResponse';\n}\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.lnrpc.VerifyMessageResponse.prototype.toObject = function(opt_includeInstance) {\n return proto.lnrpc.VerifyMessageResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.lnrpc.VerifyMessageResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.VerifyMessageResponse.toObject = function(includeInstance, msg) {\n var f, obj = {\n valid: jspb.Message.getFieldWithDefault(msg, 1, false),\n pubkey: jspb.Message.getFieldWithDefault(msg, 2, \"\")\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.lnrpc.VerifyMessageResponse}\n */\nproto.lnrpc.VerifyMessageResponse.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.lnrpc.VerifyMessageResponse;\n return proto.lnrpc.VerifyMessageResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.lnrpc.VerifyMessageResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.lnrpc.VerifyMessageResponse}\n */\nproto.lnrpc.VerifyMessageResponse.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setValid(value);\n break;\n case 2:\n var value = /** @type {string} */ (reader.readString());\n msg.setPubkey(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.lnrpc.VerifyMessageResponse.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.lnrpc.VerifyMessageResponse.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.lnrpc.VerifyMessageResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.VerifyMessageResponse.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getValid();\n if (f) {\n writer.writeBool(\n 1,\n f\n );\n }\n f = message.getPubkey();\n if (f.length > 0) {\n writer.writeString(\n 2,\n f\n );\n }\n};\n\n\n/**\n * optional bool valid = 1;\n * Note that Boolean fields may be set to 0/1 when serialized from a Java server.\n * You should avoid comparisons like {@code val === true/false} in those cases.\n * @return {boolean}\n */\nproto.lnrpc.VerifyMessageResponse.prototype.getValid = function() {\n return /** @type {boolean} */ (jspb.Message.getFieldWithDefault(this, 1, false));\n};\n\n\n/** @param {boolean} value */\nproto.lnrpc.VerifyMessageResponse.prototype.setValid = function(value) {\n jspb.Message.setField(this, 1, value);\n};\n\n\n/**\n * optional string pubkey = 2;\n * @return {string}\n */\nproto.lnrpc.VerifyMessageResponse.prototype.getPubkey = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/** @param {string} value */\nproto.lnrpc.VerifyMessageResponse.prototype.setPubkey = function(value) {\n jspb.Message.setField(this, 2, value);\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.lnrpc.ConnectPeerRequest = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.lnrpc.ConnectPeerRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.lnrpc.ConnectPeerRequest.displayName = 'proto.lnrpc.ConnectPeerRequest';\n}\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.lnrpc.ConnectPeerRequest.prototype.toObject = function(opt_includeInstance) {\n return proto.lnrpc.ConnectPeerRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.lnrpc.ConnectPeerRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.ConnectPeerRequest.toObject = function(includeInstance, msg) {\n var f, obj = {\n addr: (f = msg.getAddr()) && proto.lnrpc.LightningAddress.toObject(includeInstance, f),\n perm: jspb.Message.getFieldWithDefault(msg, 2, false)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.lnrpc.ConnectPeerRequest}\n */\nproto.lnrpc.ConnectPeerRequest.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.lnrpc.ConnectPeerRequest;\n return proto.lnrpc.ConnectPeerRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.lnrpc.ConnectPeerRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.lnrpc.ConnectPeerRequest}\n */\nproto.lnrpc.ConnectPeerRequest.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = new proto.lnrpc.LightningAddress;\n reader.readMessage(value,proto.lnrpc.LightningAddress.deserializeBinaryFromReader);\n msg.setAddr(value);\n break;\n case 2:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setPerm(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.lnrpc.ConnectPeerRequest.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.lnrpc.ConnectPeerRequest.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.lnrpc.ConnectPeerRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.ConnectPeerRequest.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getAddr();\n if (f != null) {\n writer.writeMessage(\n 1,\n f,\n proto.lnrpc.LightningAddress.serializeBinaryToWriter\n );\n }\n f = message.getPerm();\n if (f) {\n writer.writeBool(\n 2,\n f\n );\n }\n};\n\n\n/**\n * optional LightningAddress addr = 1;\n * @return {?proto.lnrpc.LightningAddress}\n */\nproto.lnrpc.ConnectPeerRequest.prototype.getAddr = function() {\n return /** @type{?proto.lnrpc.LightningAddress} */ (\n jspb.Message.getWrapperField(this, proto.lnrpc.LightningAddress, 1));\n};\n\n\n/** @param {?proto.lnrpc.LightningAddress|undefined} value */\nproto.lnrpc.ConnectPeerRequest.prototype.setAddr = function(value) {\n jspb.Message.setWrapperField(this, 1, value);\n};\n\n\nproto.lnrpc.ConnectPeerRequest.prototype.clearAddr = function() {\n this.setAddr(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {!boolean}\n */\nproto.lnrpc.ConnectPeerRequest.prototype.hasAddr = function() {\n return jspb.Message.getField(this, 1) != null;\n};\n\n\n/**\n * optional bool perm = 2;\n * Note that Boolean fields may be set to 0/1 when serialized from a Java server.\n * You should avoid comparisons like {@code val === true/false} in those cases.\n * @return {boolean}\n */\nproto.lnrpc.ConnectPeerRequest.prototype.getPerm = function() {\n return /** @type {boolean} */ (jspb.Message.getFieldWithDefault(this, 2, false));\n};\n\n\n/** @param {boolean} value */\nproto.lnrpc.ConnectPeerRequest.prototype.setPerm = function(value) {\n jspb.Message.setField(this, 2, value);\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.lnrpc.ConnectPeerResponse = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.lnrpc.ConnectPeerResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.lnrpc.ConnectPeerResponse.displayName = 'proto.lnrpc.ConnectPeerResponse';\n}\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.lnrpc.ConnectPeerResponse.prototype.toObject = function(opt_includeInstance) {\n return proto.lnrpc.ConnectPeerResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.lnrpc.ConnectPeerResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.ConnectPeerResponse.toObject = function(includeInstance, msg) {\n var f, obj = {\n\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.lnrpc.ConnectPeerResponse}\n */\nproto.lnrpc.ConnectPeerResponse.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.lnrpc.ConnectPeerResponse;\n return proto.lnrpc.ConnectPeerResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.lnrpc.ConnectPeerResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.lnrpc.ConnectPeerResponse}\n */\nproto.lnrpc.ConnectPeerResponse.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.lnrpc.ConnectPeerResponse.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.lnrpc.ConnectPeerResponse.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.lnrpc.ConnectPeerResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.ConnectPeerResponse.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.lnrpc.DisconnectPeerRequest = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.lnrpc.DisconnectPeerRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.lnrpc.DisconnectPeerRequest.displayName = 'proto.lnrpc.DisconnectPeerRequest';\n}\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.lnrpc.DisconnectPeerRequest.prototype.toObject = function(opt_includeInstance) {\n return proto.lnrpc.DisconnectPeerRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.lnrpc.DisconnectPeerRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.DisconnectPeerRequest.toObject = function(includeInstance, msg) {\n var f, obj = {\n pubKey: jspb.Message.getFieldWithDefault(msg, 1, \"\")\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.lnrpc.DisconnectPeerRequest}\n */\nproto.lnrpc.DisconnectPeerRequest.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.lnrpc.DisconnectPeerRequest;\n return proto.lnrpc.DisconnectPeerRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.lnrpc.DisconnectPeerRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.lnrpc.DisconnectPeerRequest}\n */\nproto.lnrpc.DisconnectPeerRequest.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setPubKey(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.lnrpc.DisconnectPeerRequest.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.lnrpc.DisconnectPeerRequest.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.lnrpc.DisconnectPeerRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.DisconnectPeerRequest.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getPubKey();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n};\n\n\n/**\n * optional string pub_key = 1;\n * @return {string}\n */\nproto.lnrpc.DisconnectPeerRequest.prototype.getPubKey = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/** @param {string} value */\nproto.lnrpc.DisconnectPeerRequest.prototype.setPubKey = function(value) {\n jspb.Message.setField(this, 1, value);\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.lnrpc.DisconnectPeerResponse = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.lnrpc.DisconnectPeerResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.lnrpc.DisconnectPeerResponse.displayName = 'proto.lnrpc.DisconnectPeerResponse';\n}\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.lnrpc.DisconnectPeerResponse.prototype.toObject = function(opt_includeInstance) {\n return proto.lnrpc.DisconnectPeerResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.lnrpc.DisconnectPeerResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.DisconnectPeerResponse.toObject = function(includeInstance, msg) {\n var f, obj = {\n\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.lnrpc.DisconnectPeerResponse}\n */\nproto.lnrpc.DisconnectPeerResponse.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.lnrpc.DisconnectPeerResponse;\n return proto.lnrpc.DisconnectPeerResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.lnrpc.DisconnectPeerResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.lnrpc.DisconnectPeerResponse}\n */\nproto.lnrpc.DisconnectPeerResponse.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.lnrpc.DisconnectPeerResponse.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.lnrpc.DisconnectPeerResponse.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.lnrpc.DisconnectPeerResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.DisconnectPeerResponse.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.lnrpc.HTLC = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.lnrpc.HTLC, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.lnrpc.HTLC.displayName = 'proto.lnrpc.HTLC';\n}\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.lnrpc.HTLC.prototype.toObject = function(opt_includeInstance) {\n return proto.lnrpc.HTLC.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.lnrpc.HTLC} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.HTLC.toObject = function(includeInstance, msg) {\n var f, obj = {\n incoming: jspb.Message.getFieldWithDefault(msg, 1, false),\n amount: jspb.Message.getFieldWithDefault(msg, 2, 0),\n hashLock: msg.getHashLock_asB64(),\n expirationHeight: jspb.Message.getFieldWithDefault(msg, 4, 0)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.lnrpc.HTLC}\n */\nproto.lnrpc.HTLC.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.lnrpc.HTLC;\n return proto.lnrpc.HTLC.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.lnrpc.HTLC} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.lnrpc.HTLC}\n */\nproto.lnrpc.HTLC.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setIncoming(value);\n break;\n case 2:\n var value = /** @type {number} */ (reader.readInt64());\n msg.setAmount(value);\n break;\n case 3:\n var value = /** @type {!Uint8Array} */ (reader.readBytes());\n msg.setHashLock(value);\n break;\n case 4:\n var value = /** @type {number} */ (reader.readUint32());\n msg.setExpirationHeight(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.lnrpc.HTLC.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.lnrpc.HTLC.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.lnrpc.HTLC} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.HTLC.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getIncoming();\n if (f) {\n writer.writeBool(\n 1,\n f\n );\n }\n f = message.getAmount();\n if (f !== 0) {\n writer.writeInt64(\n 2,\n f\n );\n }\n f = message.getHashLock_asU8();\n if (f.length > 0) {\n writer.writeBytes(\n 3,\n f\n );\n }\n f = message.getExpirationHeight();\n if (f !== 0) {\n writer.writeUint32(\n 4,\n f\n );\n }\n};\n\n\n/**\n * optional bool incoming = 1;\n * Note that Boolean fields may be set to 0/1 when serialized from a Java server.\n * You should avoid comparisons like {@code val === true/false} in those cases.\n * @return {boolean}\n */\nproto.lnrpc.HTLC.prototype.getIncoming = function() {\n return /** @type {boolean} */ (jspb.Message.getFieldWithDefault(this, 1, false));\n};\n\n\n/** @param {boolean} value */\nproto.lnrpc.HTLC.prototype.setIncoming = function(value) {\n jspb.Message.setField(this, 1, value);\n};\n\n\n/**\n * optional int64 amount = 2;\n * @return {number}\n */\nproto.lnrpc.HTLC.prototype.getAmount = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.HTLC.prototype.setAmount = function(value) {\n jspb.Message.setField(this, 2, value);\n};\n\n\n/**\n * optional bytes hash_lock = 3;\n * @return {string}\n */\nproto.lnrpc.HTLC.prototype.getHashLock = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * optional bytes hash_lock = 3;\n * This is a type-conversion wrapper around `getHashLock()`\n * @return {string}\n */\nproto.lnrpc.HTLC.prototype.getHashLock_asB64 = function() {\n return /** @type {string} */ (jspb.Message.bytesAsB64(\n this.getHashLock()));\n};\n\n\n/**\n * optional bytes hash_lock = 3;\n * Note that Uint8Array is not supported on all browsers.\n * @see http://caniuse.com/Uint8Array\n * This is a type-conversion wrapper around `getHashLock()`\n * @return {!Uint8Array}\n */\nproto.lnrpc.HTLC.prototype.getHashLock_asU8 = function() {\n return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(\n this.getHashLock()));\n};\n\n\n/** @param {!(string|Uint8Array)} value */\nproto.lnrpc.HTLC.prototype.setHashLock = function(value) {\n jspb.Message.setField(this, 3, value);\n};\n\n\n/**\n * optional uint32 expiration_height = 4;\n * @return {number}\n */\nproto.lnrpc.HTLC.prototype.getExpirationHeight = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.HTLC.prototype.setExpirationHeight = function(value) {\n jspb.Message.setField(this, 4, value);\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.lnrpc.ChannelConstraints = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.lnrpc.ChannelConstraints, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.lnrpc.ChannelConstraints.displayName = 'proto.lnrpc.ChannelConstraints';\n}\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.lnrpc.ChannelConstraints.prototype.toObject = function(opt_includeInstance) {\n return proto.lnrpc.ChannelConstraints.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.lnrpc.ChannelConstraints} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.ChannelConstraints.toObject = function(includeInstance, msg) {\n var f, obj = {\n csvDelay: jspb.Message.getFieldWithDefault(msg, 1, 0),\n chanReserveSat: jspb.Message.getFieldWithDefault(msg, 2, 0),\n dustLimitSat: jspb.Message.getFieldWithDefault(msg, 3, 0),\n maxPendingAmtMsat: jspb.Message.getFieldWithDefault(msg, 4, 0),\n minHtlcMsat: jspb.Message.getFieldWithDefault(msg, 5, 0),\n maxAcceptedHtlcs: jspb.Message.getFieldWithDefault(msg, 6, 0)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.lnrpc.ChannelConstraints}\n */\nproto.lnrpc.ChannelConstraints.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.lnrpc.ChannelConstraints;\n return proto.lnrpc.ChannelConstraints.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.lnrpc.ChannelConstraints} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.lnrpc.ChannelConstraints}\n */\nproto.lnrpc.ChannelConstraints.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {number} */ (reader.readUint32());\n msg.setCsvDelay(value);\n break;\n case 2:\n var value = /** @type {number} */ (reader.readUint64());\n msg.setChanReserveSat(value);\n break;\n case 3:\n var value = /** @type {number} */ (reader.readUint64());\n msg.setDustLimitSat(value);\n break;\n case 4:\n var value = /** @type {number} */ (reader.readUint64());\n msg.setMaxPendingAmtMsat(value);\n break;\n case 5:\n var value = /** @type {number} */ (reader.readUint64());\n msg.setMinHtlcMsat(value);\n break;\n case 6:\n var value = /** @type {number} */ (reader.readUint32());\n msg.setMaxAcceptedHtlcs(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.lnrpc.ChannelConstraints.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.lnrpc.ChannelConstraints.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.lnrpc.ChannelConstraints} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.ChannelConstraints.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getCsvDelay();\n if (f !== 0) {\n writer.writeUint32(\n 1,\n f\n );\n }\n f = message.getChanReserveSat();\n if (f !== 0) {\n writer.writeUint64(\n 2,\n f\n );\n }\n f = message.getDustLimitSat();\n if (f !== 0) {\n writer.writeUint64(\n 3,\n f\n );\n }\n f = message.getMaxPendingAmtMsat();\n if (f !== 0) {\n writer.writeUint64(\n 4,\n f\n );\n }\n f = message.getMinHtlcMsat();\n if (f !== 0) {\n writer.writeUint64(\n 5,\n f\n );\n }\n f = message.getMaxAcceptedHtlcs();\n if (f !== 0) {\n writer.writeUint32(\n 6,\n f\n );\n }\n};\n\n\n/**\n * optional uint32 csv_delay = 1;\n * @return {number}\n */\nproto.lnrpc.ChannelConstraints.prototype.getCsvDelay = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.ChannelConstraints.prototype.setCsvDelay = function(value) {\n jspb.Message.setField(this, 1, value);\n};\n\n\n/**\n * optional uint64 chan_reserve_sat = 2;\n * @return {number}\n */\nproto.lnrpc.ChannelConstraints.prototype.getChanReserveSat = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.ChannelConstraints.prototype.setChanReserveSat = function(value) {\n jspb.Message.setField(this, 2, value);\n};\n\n\n/**\n * optional uint64 dust_limit_sat = 3;\n * @return {number}\n */\nproto.lnrpc.ChannelConstraints.prototype.getDustLimitSat = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.ChannelConstraints.prototype.setDustLimitSat = function(value) {\n jspb.Message.setField(this, 3, value);\n};\n\n\n/**\n * optional uint64 max_pending_amt_msat = 4;\n * @return {number}\n */\nproto.lnrpc.ChannelConstraints.prototype.getMaxPendingAmtMsat = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.ChannelConstraints.prototype.setMaxPendingAmtMsat = function(value) {\n jspb.Message.setField(this, 4, value);\n};\n\n\n/**\n * optional uint64 min_htlc_msat = 5;\n * @return {number}\n */\nproto.lnrpc.ChannelConstraints.prototype.getMinHtlcMsat = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 5, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.ChannelConstraints.prototype.setMinHtlcMsat = function(value) {\n jspb.Message.setField(this, 5, value);\n};\n\n\n/**\n * optional uint32 max_accepted_htlcs = 6;\n * @return {number}\n */\nproto.lnrpc.ChannelConstraints.prototype.getMaxAcceptedHtlcs = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 6, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.ChannelConstraints.prototype.setMaxAcceptedHtlcs = function(value) {\n jspb.Message.setField(this, 6, value);\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.lnrpc.Channel = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, proto.lnrpc.Channel.repeatedFields_, null);\n};\ngoog.inherits(proto.lnrpc.Channel, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.lnrpc.Channel.displayName = 'proto.lnrpc.Channel';\n}\n/**\n * List of repeated fields within this message type.\n * @private {!Array}\n * @const\n */\nproto.lnrpc.Channel.repeatedFields_ = [15];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.lnrpc.Channel.prototype.toObject = function(opt_includeInstance) {\n return proto.lnrpc.Channel.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.lnrpc.Channel} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.Channel.toObject = function(includeInstance, msg) {\n var f, obj = {\n active: jspb.Message.getFieldWithDefault(msg, 1, false),\n remotePubkey: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n channelPoint: jspb.Message.getFieldWithDefault(msg, 3, \"\"),\n chanId: jspb.Message.getFieldWithDefault(msg, 4, \"0\"),\n capacity: jspb.Message.getFieldWithDefault(msg, 5, 0),\n localBalance: jspb.Message.getFieldWithDefault(msg, 6, 0),\n remoteBalance: jspb.Message.getFieldWithDefault(msg, 7, 0),\n commitFee: jspb.Message.getFieldWithDefault(msg, 8, 0),\n commitWeight: jspb.Message.getFieldWithDefault(msg, 9, 0),\n feePerKw: jspb.Message.getFieldWithDefault(msg, 10, 0),\n unsettledBalance: jspb.Message.getFieldWithDefault(msg, 11, 0),\n totalSatoshisSent: jspb.Message.getFieldWithDefault(msg, 12, 0),\n totalSatoshisReceived: jspb.Message.getFieldWithDefault(msg, 13, 0),\n numUpdates: jspb.Message.getFieldWithDefault(msg, 14, 0),\n pendingHtlcsList: jspb.Message.toObjectList(msg.getPendingHtlcsList(),\n proto.lnrpc.HTLC.toObject, includeInstance),\n csvDelay: jspb.Message.getFieldWithDefault(msg, 16, 0),\n pb_private: jspb.Message.getFieldWithDefault(msg, 17, false),\n initiator: jspb.Message.getFieldWithDefault(msg, 18, false),\n chanStatusFlags: jspb.Message.getFieldWithDefault(msg, 19, \"\"),\n localChanReserveSat: jspb.Message.getFieldWithDefault(msg, 20, 0),\n remoteChanReserveSat: jspb.Message.getFieldWithDefault(msg, 21, 0),\n staticRemoteKey: jspb.Message.getFieldWithDefault(msg, 22, false),\n commitmentType: jspb.Message.getFieldWithDefault(msg, 26, 0),\n lifetime: jspb.Message.getFieldWithDefault(msg, 23, 0),\n uptime: jspb.Message.getFieldWithDefault(msg, 24, 0),\n closeAddress: jspb.Message.getFieldWithDefault(msg, 25, \"\"),\n pushAmountSat: jspb.Message.getFieldWithDefault(msg, 27, 0),\n thawHeight: jspb.Message.getFieldWithDefault(msg, 28, 0),\n localConstraints: (f = msg.getLocalConstraints()) && proto.lnrpc.ChannelConstraints.toObject(includeInstance, f),\n remoteConstraints: (f = msg.getRemoteConstraints()) && proto.lnrpc.ChannelConstraints.toObject(includeInstance, f)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.lnrpc.Channel}\n */\nproto.lnrpc.Channel.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.lnrpc.Channel;\n return proto.lnrpc.Channel.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.lnrpc.Channel} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.lnrpc.Channel}\n */\nproto.lnrpc.Channel.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setActive(value);\n break;\n case 2:\n var value = /** @type {string} */ (reader.readString());\n msg.setRemotePubkey(value);\n break;\n case 3:\n var value = /** @type {string} */ (reader.readString());\n msg.setChannelPoint(value);\n break;\n case 4:\n var value = /** @type {string} */ (reader.readUint64String());\n msg.setChanId(value);\n break;\n case 5:\n var value = /** @type {number} */ (reader.readInt64());\n msg.setCapacity(value);\n break;\n case 6:\n var value = /** @type {number} */ (reader.readInt64());\n msg.setLocalBalance(value);\n break;\n case 7:\n var value = /** @type {number} */ (reader.readInt64());\n msg.setRemoteBalance(value);\n break;\n case 8:\n var value = /** @type {number} */ (reader.readInt64());\n msg.setCommitFee(value);\n break;\n case 9:\n var value = /** @type {number} */ (reader.readInt64());\n msg.setCommitWeight(value);\n break;\n case 10:\n var value = /** @type {number} */ (reader.readInt64());\n msg.setFeePerKw(value);\n break;\n case 11:\n var value = /** @type {number} */ (reader.readInt64());\n msg.setUnsettledBalance(value);\n break;\n case 12:\n var value = /** @type {number} */ (reader.readInt64());\n msg.setTotalSatoshisSent(value);\n break;\n case 13:\n var value = /** @type {number} */ (reader.readInt64());\n msg.setTotalSatoshisReceived(value);\n break;\n case 14:\n var value = /** @type {number} */ (reader.readUint64());\n msg.setNumUpdates(value);\n break;\n case 15:\n var value = new proto.lnrpc.HTLC;\n reader.readMessage(value,proto.lnrpc.HTLC.deserializeBinaryFromReader);\n msg.addPendingHtlcs(value);\n break;\n case 16:\n var value = /** @type {number} */ (reader.readUint32());\n msg.setCsvDelay(value);\n break;\n case 17:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setPrivate(value);\n break;\n case 18:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setInitiator(value);\n break;\n case 19:\n var value = /** @type {string} */ (reader.readString());\n msg.setChanStatusFlags(value);\n break;\n case 20:\n var value = /** @type {number} */ (reader.readInt64());\n msg.setLocalChanReserveSat(value);\n break;\n case 21:\n var value = /** @type {number} */ (reader.readInt64());\n msg.setRemoteChanReserveSat(value);\n break;\n case 22:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setStaticRemoteKey(value);\n break;\n case 26:\n var value = /** @type {!proto.lnrpc.CommitmentType} */ (reader.readEnum());\n msg.setCommitmentType(value);\n break;\n case 23:\n var value = /** @type {number} */ (reader.readInt64());\n msg.setLifetime(value);\n break;\n case 24:\n var value = /** @type {number} */ (reader.readInt64());\n msg.setUptime(value);\n break;\n case 25:\n var value = /** @type {string} */ (reader.readString());\n msg.setCloseAddress(value);\n break;\n case 27:\n var value = /** @type {number} */ (reader.readUint64());\n msg.setPushAmountSat(value);\n break;\n case 28:\n var value = /** @type {number} */ (reader.readUint32());\n msg.setThawHeight(value);\n break;\n case 29:\n var value = new proto.lnrpc.ChannelConstraints;\n reader.readMessage(value,proto.lnrpc.ChannelConstraints.deserializeBinaryFromReader);\n msg.setLocalConstraints(value);\n break;\n case 30:\n var value = new proto.lnrpc.ChannelConstraints;\n reader.readMessage(value,proto.lnrpc.ChannelConstraints.deserializeBinaryFromReader);\n msg.setRemoteConstraints(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.lnrpc.Channel.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.lnrpc.Channel.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.lnrpc.Channel} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.Channel.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getActive();\n if (f) {\n writer.writeBool(\n 1,\n f\n );\n }\n f = message.getRemotePubkey();\n if (f.length > 0) {\n writer.writeString(\n 2,\n f\n );\n }\n f = message.getChannelPoint();\n if (f.length > 0) {\n writer.writeString(\n 3,\n f\n );\n }\n f = message.getChanId();\n if (parseInt(f, 10) !== 0) {\n writer.writeUint64String(\n 4,\n f\n );\n }\n f = message.getCapacity();\n if (f !== 0) {\n writer.writeInt64(\n 5,\n f\n );\n }\n f = message.getLocalBalance();\n if (f !== 0) {\n writer.writeInt64(\n 6,\n f\n );\n }\n f = message.getRemoteBalance();\n if (f !== 0) {\n writer.writeInt64(\n 7,\n f\n );\n }\n f = message.getCommitFee();\n if (f !== 0) {\n writer.writeInt64(\n 8,\n f\n );\n }\n f = message.getCommitWeight();\n if (f !== 0) {\n writer.writeInt64(\n 9,\n f\n );\n }\n f = message.getFeePerKw();\n if (f !== 0) {\n writer.writeInt64(\n 10,\n f\n );\n }\n f = message.getUnsettledBalance();\n if (f !== 0) {\n writer.writeInt64(\n 11,\n f\n );\n }\n f = message.getTotalSatoshisSent();\n if (f !== 0) {\n writer.writeInt64(\n 12,\n f\n );\n }\n f = message.getTotalSatoshisReceived();\n if (f !== 0) {\n writer.writeInt64(\n 13,\n f\n );\n }\n f = message.getNumUpdates();\n if (f !== 0) {\n writer.writeUint64(\n 14,\n f\n );\n }\n f = message.getPendingHtlcsList();\n if (f.length > 0) {\n writer.writeRepeatedMessage(\n 15,\n f,\n proto.lnrpc.HTLC.serializeBinaryToWriter\n );\n }\n f = message.getCsvDelay();\n if (f !== 0) {\n writer.writeUint32(\n 16,\n f\n );\n }\n f = message.getPrivate();\n if (f) {\n writer.writeBool(\n 17,\n f\n );\n }\n f = message.getInitiator();\n if (f) {\n writer.writeBool(\n 18,\n f\n );\n }\n f = message.getChanStatusFlags();\n if (f.length > 0) {\n writer.writeString(\n 19,\n f\n );\n }\n f = message.getLocalChanReserveSat();\n if (f !== 0) {\n writer.writeInt64(\n 20,\n f\n );\n }\n f = message.getRemoteChanReserveSat();\n if (f !== 0) {\n writer.writeInt64(\n 21,\n f\n );\n }\n f = message.getStaticRemoteKey();\n if (f) {\n writer.writeBool(\n 22,\n f\n );\n }\n f = message.getCommitmentType();\n if (f !== 0.0) {\n writer.writeEnum(\n 26,\n f\n );\n }\n f = message.getLifetime();\n if (f !== 0) {\n writer.writeInt64(\n 23,\n f\n );\n }\n f = message.getUptime();\n if (f !== 0) {\n writer.writeInt64(\n 24,\n f\n );\n }\n f = message.getCloseAddress();\n if (f.length > 0) {\n writer.writeString(\n 25,\n f\n );\n }\n f = message.getPushAmountSat();\n if (f !== 0) {\n writer.writeUint64(\n 27,\n f\n );\n }\n f = message.getThawHeight();\n if (f !== 0) {\n writer.writeUint32(\n 28,\n f\n );\n }\n f = message.getLocalConstraints();\n if (f != null) {\n writer.writeMessage(\n 29,\n f,\n proto.lnrpc.ChannelConstraints.serializeBinaryToWriter\n );\n }\n f = message.getRemoteConstraints();\n if (f != null) {\n writer.writeMessage(\n 30,\n f,\n proto.lnrpc.ChannelConstraints.serializeBinaryToWriter\n );\n }\n};\n\n\n/**\n * optional bool active = 1;\n * Note that Boolean fields may be set to 0/1 when serialized from a Java server.\n * You should avoid comparisons like {@code val === true/false} in those cases.\n * @return {boolean}\n */\nproto.lnrpc.Channel.prototype.getActive = function() {\n return /** @type {boolean} */ (jspb.Message.getFieldWithDefault(this, 1, false));\n};\n\n\n/** @param {boolean} value */\nproto.lnrpc.Channel.prototype.setActive = function(value) {\n jspb.Message.setField(this, 1, value);\n};\n\n\n/**\n * optional string remote_pubkey = 2;\n * @return {string}\n */\nproto.lnrpc.Channel.prototype.getRemotePubkey = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/** @param {string} value */\nproto.lnrpc.Channel.prototype.setRemotePubkey = function(value) {\n jspb.Message.setField(this, 2, value);\n};\n\n\n/**\n * optional string channel_point = 3;\n * @return {string}\n */\nproto.lnrpc.Channel.prototype.getChannelPoint = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/** @param {string} value */\nproto.lnrpc.Channel.prototype.setChannelPoint = function(value) {\n jspb.Message.setField(this, 3, value);\n};\n\n\n/**\n * optional uint64 chan_id = 4;\n * @return {string}\n */\nproto.lnrpc.Channel.prototype.getChanId = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"0\"));\n};\n\n\n/** @param {string} value */\nproto.lnrpc.Channel.prototype.setChanId = function(value) {\n jspb.Message.setField(this, 4, value);\n};\n\n\n/**\n * optional int64 capacity = 5;\n * @return {number}\n */\nproto.lnrpc.Channel.prototype.getCapacity = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 5, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.Channel.prototype.setCapacity = function(value) {\n jspb.Message.setField(this, 5, value);\n};\n\n\n/**\n * optional int64 local_balance = 6;\n * @return {number}\n */\nproto.lnrpc.Channel.prototype.getLocalBalance = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 6, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.Channel.prototype.setLocalBalance = function(value) {\n jspb.Message.setField(this, 6, value);\n};\n\n\n/**\n * optional int64 remote_balance = 7;\n * @return {number}\n */\nproto.lnrpc.Channel.prototype.getRemoteBalance = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 7, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.Channel.prototype.setRemoteBalance = function(value) {\n jspb.Message.setField(this, 7, value);\n};\n\n\n/**\n * optional int64 commit_fee = 8;\n * @return {number}\n */\nproto.lnrpc.Channel.prototype.getCommitFee = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 8, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.Channel.prototype.setCommitFee = function(value) {\n jspb.Message.setField(this, 8, value);\n};\n\n\n/**\n * optional int64 commit_weight = 9;\n * @return {number}\n */\nproto.lnrpc.Channel.prototype.getCommitWeight = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 9, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.Channel.prototype.setCommitWeight = function(value) {\n jspb.Message.setField(this, 9, value);\n};\n\n\n/**\n * optional int64 fee_per_kw = 10;\n * @return {number}\n */\nproto.lnrpc.Channel.prototype.getFeePerKw = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 10, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.Channel.prototype.setFeePerKw = function(value) {\n jspb.Message.setField(this, 10, value);\n};\n\n\n/**\n * optional int64 unsettled_balance = 11;\n * @return {number}\n */\nproto.lnrpc.Channel.prototype.getUnsettledBalance = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 11, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.Channel.prototype.setUnsettledBalance = function(value) {\n jspb.Message.setField(this, 11, value);\n};\n\n\n/**\n * optional int64 total_satoshis_sent = 12;\n * @return {number}\n */\nproto.lnrpc.Channel.prototype.getTotalSatoshisSent = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 12, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.Channel.prototype.setTotalSatoshisSent = function(value) {\n jspb.Message.setField(this, 12, value);\n};\n\n\n/**\n * optional int64 total_satoshis_received = 13;\n * @return {number}\n */\nproto.lnrpc.Channel.prototype.getTotalSatoshisReceived = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 13, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.Channel.prototype.setTotalSatoshisReceived = function(value) {\n jspb.Message.setField(this, 13, value);\n};\n\n\n/**\n * optional uint64 num_updates = 14;\n * @return {number}\n */\nproto.lnrpc.Channel.prototype.getNumUpdates = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 14, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.Channel.prototype.setNumUpdates = function(value) {\n jspb.Message.setField(this, 14, value);\n};\n\n\n/**\n * repeated HTLC pending_htlcs = 15;\n * @return {!Array.}\n */\nproto.lnrpc.Channel.prototype.getPendingHtlcsList = function() {\n return /** @type{!Array.} */ (\n jspb.Message.getRepeatedWrapperField(this, proto.lnrpc.HTLC, 15));\n};\n\n\n/** @param {!Array.} value */\nproto.lnrpc.Channel.prototype.setPendingHtlcsList = function(value) {\n jspb.Message.setRepeatedWrapperField(this, 15, value);\n};\n\n\n/**\n * @param {!proto.lnrpc.HTLC=} opt_value\n * @param {number=} opt_index\n * @return {!proto.lnrpc.HTLC}\n */\nproto.lnrpc.Channel.prototype.addPendingHtlcs = function(opt_value, opt_index) {\n return jspb.Message.addToRepeatedWrapperField(this, 15, opt_value, proto.lnrpc.HTLC, opt_index);\n};\n\n\nproto.lnrpc.Channel.prototype.clearPendingHtlcsList = function() {\n this.setPendingHtlcsList([]);\n};\n\n\n/**\n * optional uint32 csv_delay = 16;\n * @return {number}\n */\nproto.lnrpc.Channel.prototype.getCsvDelay = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 16, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.Channel.prototype.setCsvDelay = function(value) {\n jspb.Message.setField(this, 16, value);\n};\n\n\n/**\n * optional bool private = 17;\n * Note that Boolean fields may be set to 0/1 when serialized from a Java server.\n * You should avoid comparisons like {@code val === true/false} in those cases.\n * @return {boolean}\n */\nproto.lnrpc.Channel.prototype.getPrivate = function() {\n return /** @type {boolean} */ (jspb.Message.getFieldWithDefault(this, 17, false));\n};\n\n\n/** @param {boolean} value */\nproto.lnrpc.Channel.prototype.setPrivate = function(value) {\n jspb.Message.setField(this, 17, value);\n};\n\n\n/**\n * optional bool initiator = 18;\n * Note that Boolean fields may be set to 0/1 when serialized from a Java server.\n * You should avoid comparisons like {@code val === true/false} in those cases.\n * @return {boolean}\n */\nproto.lnrpc.Channel.prototype.getInitiator = function() {\n return /** @type {boolean} */ (jspb.Message.getFieldWithDefault(this, 18, false));\n};\n\n\n/** @param {boolean} value */\nproto.lnrpc.Channel.prototype.setInitiator = function(value) {\n jspb.Message.setField(this, 18, value);\n};\n\n\n/**\n * optional string chan_status_flags = 19;\n * @return {string}\n */\nproto.lnrpc.Channel.prototype.getChanStatusFlags = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 19, \"\"));\n};\n\n\n/** @param {string} value */\nproto.lnrpc.Channel.prototype.setChanStatusFlags = function(value) {\n jspb.Message.setField(this, 19, value);\n};\n\n\n/**\n * optional int64 local_chan_reserve_sat = 20;\n * @return {number}\n */\nproto.lnrpc.Channel.prototype.getLocalChanReserveSat = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 20, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.Channel.prototype.setLocalChanReserveSat = function(value) {\n jspb.Message.setField(this, 20, value);\n};\n\n\n/**\n * optional int64 remote_chan_reserve_sat = 21;\n * @return {number}\n */\nproto.lnrpc.Channel.prototype.getRemoteChanReserveSat = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 21, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.Channel.prototype.setRemoteChanReserveSat = function(value) {\n jspb.Message.setField(this, 21, value);\n};\n\n\n/**\n * optional bool static_remote_key = 22;\n * Note that Boolean fields may be set to 0/1 when serialized from a Java server.\n * You should avoid comparisons like {@code val === true/false} in those cases.\n * @return {boolean}\n */\nproto.lnrpc.Channel.prototype.getStaticRemoteKey = function() {\n return /** @type {boolean} */ (jspb.Message.getFieldWithDefault(this, 22, false));\n};\n\n\n/** @param {boolean} value */\nproto.lnrpc.Channel.prototype.setStaticRemoteKey = function(value) {\n jspb.Message.setField(this, 22, value);\n};\n\n\n/**\n * optional CommitmentType commitment_type = 26;\n * @return {!proto.lnrpc.CommitmentType}\n */\nproto.lnrpc.Channel.prototype.getCommitmentType = function() {\n return /** @type {!proto.lnrpc.CommitmentType} */ (jspb.Message.getFieldWithDefault(this, 26, 0));\n};\n\n\n/** @param {!proto.lnrpc.CommitmentType} value */\nproto.lnrpc.Channel.prototype.setCommitmentType = function(value) {\n jspb.Message.setField(this, 26, value);\n};\n\n\n/**\n * optional int64 lifetime = 23;\n * @return {number}\n */\nproto.lnrpc.Channel.prototype.getLifetime = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 23, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.Channel.prototype.setLifetime = function(value) {\n jspb.Message.setField(this, 23, value);\n};\n\n\n/**\n * optional int64 uptime = 24;\n * @return {number}\n */\nproto.lnrpc.Channel.prototype.getUptime = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 24, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.Channel.prototype.setUptime = function(value) {\n jspb.Message.setField(this, 24, value);\n};\n\n\n/**\n * optional string close_address = 25;\n * @return {string}\n */\nproto.lnrpc.Channel.prototype.getCloseAddress = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 25, \"\"));\n};\n\n\n/** @param {string} value */\nproto.lnrpc.Channel.prototype.setCloseAddress = function(value) {\n jspb.Message.setField(this, 25, value);\n};\n\n\n/**\n * optional uint64 push_amount_sat = 27;\n * @return {number}\n */\nproto.lnrpc.Channel.prototype.getPushAmountSat = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 27, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.Channel.prototype.setPushAmountSat = function(value) {\n jspb.Message.setField(this, 27, value);\n};\n\n\n/**\n * optional uint32 thaw_height = 28;\n * @return {number}\n */\nproto.lnrpc.Channel.prototype.getThawHeight = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 28, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.Channel.prototype.setThawHeight = function(value) {\n jspb.Message.setField(this, 28, value);\n};\n\n\n/**\n * optional ChannelConstraints local_constraints = 29;\n * @return {?proto.lnrpc.ChannelConstraints}\n */\nproto.lnrpc.Channel.prototype.getLocalConstraints = function() {\n return /** @type{?proto.lnrpc.ChannelConstraints} */ (\n jspb.Message.getWrapperField(this, proto.lnrpc.ChannelConstraints, 29));\n};\n\n\n/** @param {?proto.lnrpc.ChannelConstraints|undefined} value */\nproto.lnrpc.Channel.prototype.setLocalConstraints = function(value) {\n jspb.Message.setWrapperField(this, 29, value);\n};\n\n\nproto.lnrpc.Channel.prototype.clearLocalConstraints = function() {\n this.setLocalConstraints(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {!boolean}\n */\nproto.lnrpc.Channel.prototype.hasLocalConstraints = function() {\n return jspb.Message.getField(this, 29) != null;\n};\n\n\n/**\n * optional ChannelConstraints remote_constraints = 30;\n * @return {?proto.lnrpc.ChannelConstraints}\n */\nproto.lnrpc.Channel.prototype.getRemoteConstraints = function() {\n return /** @type{?proto.lnrpc.ChannelConstraints} */ (\n jspb.Message.getWrapperField(this, proto.lnrpc.ChannelConstraints, 30));\n};\n\n\n/** @param {?proto.lnrpc.ChannelConstraints|undefined} value */\nproto.lnrpc.Channel.prototype.setRemoteConstraints = function(value) {\n jspb.Message.setWrapperField(this, 30, value);\n};\n\n\nproto.lnrpc.Channel.prototype.clearRemoteConstraints = function() {\n this.setRemoteConstraints(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {!boolean}\n */\nproto.lnrpc.Channel.prototype.hasRemoteConstraints = function() {\n return jspb.Message.getField(this, 30) != null;\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.lnrpc.ListChannelsRequest = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.lnrpc.ListChannelsRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.lnrpc.ListChannelsRequest.displayName = 'proto.lnrpc.ListChannelsRequest';\n}\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.lnrpc.ListChannelsRequest.prototype.toObject = function(opt_includeInstance) {\n return proto.lnrpc.ListChannelsRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.lnrpc.ListChannelsRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.ListChannelsRequest.toObject = function(includeInstance, msg) {\n var f, obj = {\n activeOnly: jspb.Message.getFieldWithDefault(msg, 1, false),\n inactiveOnly: jspb.Message.getFieldWithDefault(msg, 2, false),\n publicOnly: jspb.Message.getFieldWithDefault(msg, 3, false),\n privateOnly: jspb.Message.getFieldWithDefault(msg, 4, false),\n peer: msg.getPeer_asB64()\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.lnrpc.ListChannelsRequest}\n */\nproto.lnrpc.ListChannelsRequest.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.lnrpc.ListChannelsRequest;\n return proto.lnrpc.ListChannelsRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.lnrpc.ListChannelsRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.lnrpc.ListChannelsRequest}\n */\nproto.lnrpc.ListChannelsRequest.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setActiveOnly(value);\n break;\n case 2:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setInactiveOnly(value);\n break;\n case 3:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setPublicOnly(value);\n break;\n case 4:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setPrivateOnly(value);\n break;\n case 5:\n var value = /** @type {!Uint8Array} */ (reader.readBytes());\n msg.setPeer(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.lnrpc.ListChannelsRequest.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.lnrpc.ListChannelsRequest.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.lnrpc.ListChannelsRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.ListChannelsRequest.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getActiveOnly();\n if (f) {\n writer.writeBool(\n 1,\n f\n );\n }\n f = message.getInactiveOnly();\n if (f) {\n writer.writeBool(\n 2,\n f\n );\n }\n f = message.getPublicOnly();\n if (f) {\n writer.writeBool(\n 3,\n f\n );\n }\n f = message.getPrivateOnly();\n if (f) {\n writer.writeBool(\n 4,\n f\n );\n }\n f = message.getPeer_asU8();\n if (f.length > 0) {\n writer.writeBytes(\n 5,\n f\n );\n }\n};\n\n\n/**\n * optional bool active_only = 1;\n * Note that Boolean fields may be set to 0/1 when serialized from a Java server.\n * You should avoid comparisons like {@code val === true/false} in those cases.\n * @return {boolean}\n */\nproto.lnrpc.ListChannelsRequest.prototype.getActiveOnly = function() {\n return /** @type {boolean} */ (jspb.Message.getFieldWithDefault(this, 1, false));\n};\n\n\n/** @param {boolean} value */\nproto.lnrpc.ListChannelsRequest.prototype.setActiveOnly = function(value) {\n jspb.Message.setField(this, 1, value);\n};\n\n\n/**\n * optional bool inactive_only = 2;\n * Note that Boolean fields may be set to 0/1 when serialized from a Java server.\n * You should avoid comparisons like {@code val === true/false} in those cases.\n * @return {boolean}\n */\nproto.lnrpc.ListChannelsRequest.prototype.getInactiveOnly = function() {\n return /** @type {boolean} */ (jspb.Message.getFieldWithDefault(this, 2, false));\n};\n\n\n/** @param {boolean} value */\nproto.lnrpc.ListChannelsRequest.prototype.setInactiveOnly = function(value) {\n jspb.Message.setField(this, 2, value);\n};\n\n\n/**\n * optional bool public_only = 3;\n * Note that Boolean fields may be set to 0/1 when serialized from a Java server.\n * You should avoid comparisons like {@code val === true/false} in those cases.\n * @return {boolean}\n */\nproto.lnrpc.ListChannelsRequest.prototype.getPublicOnly = function() {\n return /** @type {boolean} */ (jspb.Message.getFieldWithDefault(this, 3, false));\n};\n\n\n/** @param {boolean} value */\nproto.lnrpc.ListChannelsRequest.prototype.setPublicOnly = function(value) {\n jspb.Message.setField(this, 3, value);\n};\n\n\n/**\n * optional bool private_only = 4;\n * Note that Boolean fields may be set to 0/1 when serialized from a Java server.\n * You should avoid comparisons like {@code val === true/false} in those cases.\n * @return {boolean}\n */\nproto.lnrpc.ListChannelsRequest.prototype.getPrivateOnly = function() {\n return /** @type {boolean} */ (jspb.Message.getFieldWithDefault(this, 4, false));\n};\n\n\n/** @param {boolean} value */\nproto.lnrpc.ListChannelsRequest.prototype.setPrivateOnly = function(value) {\n jspb.Message.setField(this, 4, value);\n};\n\n\n/**\n * optional bytes peer = 5;\n * @return {string}\n */\nproto.lnrpc.ListChannelsRequest.prototype.getPeer = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, \"\"));\n};\n\n\n/**\n * optional bytes peer = 5;\n * This is a type-conversion wrapper around `getPeer()`\n * @return {string}\n */\nproto.lnrpc.ListChannelsRequest.prototype.getPeer_asB64 = function() {\n return /** @type {string} */ (jspb.Message.bytesAsB64(\n this.getPeer()));\n};\n\n\n/**\n * optional bytes peer = 5;\n * Note that Uint8Array is not supported on all browsers.\n * @see http://caniuse.com/Uint8Array\n * This is a type-conversion wrapper around `getPeer()`\n * @return {!Uint8Array}\n */\nproto.lnrpc.ListChannelsRequest.prototype.getPeer_asU8 = function() {\n return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(\n this.getPeer()));\n};\n\n\n/** @param {!(string|Uint8Array)} value */\nproto.lnrpc.ListChannelsRequest.prototype.setPeer = function(value) {\n jspb.Message.setField(this, 5, value);\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.lnrpc.ListChannelsResponse = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, proto.lnrpc.ListChannelsResponse.repeatedFields_, null);\n};\ngoog.inherits(proto.lnrpc.ListChannelsResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.lnrpc.ListChannelsResponse.displayName = 'proto.lnrpc.ListChannelsResponse';\n}\n/**\n * List of repeated fields within this message type.\n * @private {!Array}\n * @const\n */\nproto.lnrpc.ListChannelsResponse.repeatedFields_ = [11];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.lnrpc.ListChannelsResponse.prototype.toObject = function(opt_includeInstance) {\n return proto.lnrpc.ListChannelsResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.lnrpc.ListChannelsResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.ListChannelsResponse.toObject = function(includeInstance, msg) {\n var f, obj = {\n channelsList: jspb.Message.toObjectList(msg.getChannelsList(),\n proto.lnrpc.Channel.toObject, includeInstance)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.lnrpc.ListChannelsResponse}\n */\nproto.lnrpc.ListChannelsResponse.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.lnrpc.ListChannelsResponse;\n return proto.lnrpc.ListChannelsResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.lnrpc.ListChannelsResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.lnrpc.ListChannelsResponse}\n */\nproto.lnrpc.ListChannelsResponse.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 11:\n var value = new proto.lnrpc.Channel;\n reader.readMessage(value,proto.lnrpc.Channel.deserializeBinaryFromReader);\n msg.addChannels(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.lnrpc.ListChannelsResponse.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.lnrpc.ListChannelsResponse.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.lnrpc.ListChannelsResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.ListChannelsResponse.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getChannelsList();\n if (f.length > 0) {\n writer.writeRepeatedMessage(\n 11,\n f,\n proto.lnrpc.Channel.serializeBinaryToWriter\n );\n }\n};\n\n\n/**\n * repeated Channel channels = 11;\n * @return {!Array.}\n */\nproto.lnrpc.ListChannelsResponse.prototype.getChannelsList = function() {\n return /** @type{!Array.} */ (\n jspb.Message.getRepeatedWrapperField(this, proto.lnrpc.Channel, 11));\n};\n\n\n/** @param {!Array.} value */\nproto.lnrpc.ListChannelsResponse.prototype.setChannelsList = function(value) {\n jspb.Message.setRepeatedWrapperField(this, 11, value);\n};\n\n\n/**\n * @param {!proto.lnrpc.Channel=} opt_value\n * @param {number=} opt_index\n * @return {!proto.lnrpc.Channel}\n */\nproto.lnrpc.ListChannelsResponse.prototype.addChannels = function(opt_value, opt_index) {\n return jspb.Message.addToRepeatedWrapperField(this, 11, opt_value, proto.lnrpc.Channel, opt_index);\n};\n\n\nproto.lnrpc.ListChannelsResponse.prototype.clearChannelsList = function() {\n this.setChannelsList([]);\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.lnrpc.ChannelCloseSummary = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, proto.lnrpc.ChannelCloseSummary.repeatedFields_, null);\n};\ngoog.inherits(proto.lnrpc.ChannelCloseSummary, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.lnrpc.ChannelCloseSummary.displayName = 'proto.lnrpc.ChannelCloseSummary';\n}\n/**\n * List of repeated fields within this message type.\n * @private {!Array}\n * @const\n */\nproto.lnrpc.ChannelCloseSummary.repeatedFields_ = [13];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.lnrpc.ChannelCloseSummary.prototype.toObject = function(opt_includeInstance) {\n return proto.lnrpc.ChannelCloseSummary.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.lnrpc.ChannelCloseSummary} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.ChannelCloseSummary.toObject = function(includeInstance, msg) {\n var f, obj = {\n channelPoint: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n chanId: jspb.Message.getFieldWithDefault(msg, 2, \"0\"),\n chainHash: jspb.Message.getFieldWithDefault(msg, 3, \"\"),\n closingTxHash: jspb.Message.getFieldWithDefault(msg, 4, \"\"),\n remotePubkey: jspb.Message.getFieldWithDefault(msg, 5, \"\"),\n capacity: jspb.Message.getFieldWithDefault(msg, 6, 0),\n closeHeight: jspb.Message.getFieldWithDefault(msg, 7, 0),\n settledBalance: jspb.Message.getFieldWithDefault(msg, 8, 0),\n timeLockedBalance: jspb.Message.getFieldWithDefault(msg, 9, 0),\n closeType: jspb.Message.getFieldWithDefault(msg, 10, 0),\n openInitiator: jspb.Message.getFieldWithDefault(msg, 11, 0),\n closeInitiator: jspb.Message.getFieldWithDefault(msg, 12, 0),\n resolutionsList: jspb.Message.toObjectList(msg.getResolutionsList(),\n proto.lnrpc.Resolution.toObject, includeInstance)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.lnrpc.ChannelCloseSummary}\n */\nproto.lnrpc.ChannelCloseSummary.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.lnrpc.ChannelCloseSummary;\n return proto.lnrpc.ChannelCloseSummary.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.lnrpc.ChannelCloseSummary} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.lnrpc.ChannelCloseSummary}\n */\nproto.lnrpc.ChannelCloseSummary.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setChannelPoint(value);\n break;\n case 2:\n var value = /** @type {string} */ (reader.readUint64String());\n msg.setChanId(value);\n break;\n case 3:\n var value = /** @type {string} */ (reader.readString());\n msg.setChainHash(value);\n break;\n case 4:\n var value = /** @type {string} */ (reader.readString());\n msg.setClosingTxHash(value);\n break;\n case 5:\n var value = /** @type {string} */ (reader.readString());\n msg.setRemotePubkey(value);\n break;\n case 6:\n var value = /** @type {number} */ (reader.readInt64());\n msg.setCapacity(value);\n break;\n case 7:\n var value = /** @type {number} */ (reader.readUint32());\n msg.setCloseHeight(value);\n break;\n case 8:\n var value = /** @type {number} */ (reader.readInt64());\n msg.setSettledBalance(value);\n break;\n case 9:\n var value = /** @type {number} */ (reader.readInt64());\n msg.setTimeLockedBalance(value);\n break;\n case 10:\n var value = /** @type {!proto.lnrpc.ChannelCloseSummary.ClosureType} */ (reader.readEnum());\n msg.setCloseType(value);\n break;\n case 11:\n var value = /** @type {!proto.lnrpc.Initiator} */ (reader.readEnum());\n msg.setOpenInitiator(value);\n break;\n case 12:\n var value = /** @type {!proto.lnrpc.Initiator} */ (reader.readEnum());\n msg.setCloseInitiator(value);\n break;\n case 13:\n var value = new proto.lnrpc.Resolution;\n reader.readMessage(value,proto.lnrpc.Resolution.deserializeBinaryFromReader);\n msg.addResolutions(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.lnrpc.ChannelCloseSummary.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.lnrpc.ChannelCloseSummary.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.lnrpc.ChannelCloseSummary} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.ChannelCloseSummary.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getChannelPoint();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n f = message.getChanId();\n if (parseInt(f, 10) !== 0) {\n writer.writeUint64String(\n 2,\n f\n );\n }\n f = message.getChainHash();\n if (f.length > 0) {\n writer.writeString(\n 3,\n f\n );\n }\n f = message.getClosingTxHash();\n if (f.length > 0) {\n writer.writeString(\n 4,\n f\n );\n }\n f = message.getRemotePubkey();\n if (f.length > 0) {\n writer.writeString(\n 5,\n f\n );\n }\n f = message.getCapacity();\n if (f !== 0) {\n writer.writeInt64(\n 6,\n f\n );\n }\n f = message.getCloseHeight();\n if (f !== 0) {\n writer.writeUint32(\n 7,\n f\n );\n }\n f = message.getSettledBalance();\n if (f !== 0) {\n writer.writeInt64(\n 8,\n f\n );\n }\n f = message.getTimeLockedBalance();\n if (f !== 0) {\n writer.writeInt64(\n 9,\n f\n );\n }\n f = message.getCloseType();\n if (f !== 0.0) {\n writer.writeEnum(\n 10,\n f\n );\n }\n f = message.getOpenInitiator();\n if (f !== 0.0) {\n writer.writeEnum(\n 11,\n f\n );\n }\n f = message.getCloseInitiator();\n if (f !== 0.0) {\n writer.writeEnum(\n 12,\n f\n );\n }\n f = message.getResolutionsList();\n if (f.length > 0) {\n writer.writeRepeatedMessage(\n 13,\n f,\n proto.lnrpc.Resolution.serializeBinaryToWriter\n );\n }\n};\n\n\n/**\n * @enum {number}\n */\nproto.lnrpc.ChannelCloseSummary.ClosureType = {\n COOPERATIVE_CLOSE: 0,\n LOCAL_FORCE_CLOSE: 1,\n REMOTE_FORCE_CLOSE: 2,\n BREACH_CLOSE: 3,\n FUNDING_CANCELED: 4,\n ABANDONED: 5\n};\n\n/**\n * optional string channel_point = 1;\n * @return {string}\n */\nproto.lnrpc.ChannelCloseSummary.prototype.getChannelPoint = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/** @param {string} value */\nproto.lnrpc.ChannelCloseSummary.prototype.setChannelPoint = function(value) {\n jspb.Message.setField(this, 1, value);\n};\n\n\n/**\n * optional uint64 chan_id = 2;\n * @return {string}\n */\nproto.lnrpc.ChannelCloseSummary.prototype.getChanId = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"0\"));\n};\n\n\n/** @param {string} value */\nproto.lnrpc.ChannelCloseSummary.prototype.setChanId = function(value) {\n jspb.Message.setField(this, 2, value);\n};\n\n\n/**\n * optional string chain_hash = 3;\n * @return {string}\n */\nproto.lnrpc.ChannelCloseSummary.prototype.getChainHash = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/** @param {string} value */\nproto.lnrpc.ChannelCloseSummary.prototype.setChainHash = function(value) {\n jspb.Message.setField(this, 3, value);\n};\n\n\n/**\n * optional string closing_tx_hash = 4;\n * @return {string}\n */\nproto.lnrpc.ChannelCloseSummary.prototype.getClosingTxHash = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"\"));\n};\n\n\n/** @param {string} value */\nproto.lnrpc.ChannelCloseSummary.prototype.setClosingTxHash = function(value) {\n jspb.Message.setField(this, 4, value);\n};\n\n\n/**\n * optional string remote_pubkey = 5;\n * @return {string}\n */\nproto.lnrpc.ChannelCloseSummary.prototype.getRemotePubkey = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, \"\"));\n};\n\n\n/** @param {string} value */\nproto.lnrpc.ChannelCloseSummary.prototype.setRemotePubkey = function(value) {\n jspb.Message.setField(this, 5, value);\n};\n\n\n/**\n * optional int64 capacity = 6;\n * @return {number}\n */\nproto.lnrpc.ChannelCloseSummary.prototype.getCapacity = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 6, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.ChannelCloseSummary.prototype.setCapacity = function(value) {\n jspb.Message.setField(this, 6, value);\n};\n\n\n/**\n * optional uint32 close_height = 7;\n * @return {number}\n */\nproto.lnrpc.ChannelCloseSummary.prototype.getCloseHeight = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 7, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.ChannelCloseSummary.prototype.setCloseHeight = function(value) {\n jspb.Message.setField(this, 7, value);\n};\n\n\n/**\n * optional int64 settled_balance = 8;\n * @return {number}\n */\nproto.lnrpc.ChannelCloseSummary.prototype.getSettledBalance = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 8, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.ChannelCloseSummary.prototype.setSettledBalance = function(value) {\n jspb.Message.setField(this, 8, value);\n};\n\n\n/**\n * optional int64 time_locked_balance = 9;\n * @return {number}\n */\nproto.lnrpc.ChannelCloseSummary.prototype.getTimeLockedBalance = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 9, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.ChannelCloseSummary.prototype.setTimeLockedBalance = function(value) {\n jspb.Message.setField(this, 9, value);\n};\n\n\n/**\n * optional ClosureType close_type = 10;\n * @return {!proto.lnrpc.ChannelCloseSummary.ClosureType}\n */\nproto.lnrpc.ChannelCloseSummary.prototype.getCloseType = function() {\n return /** @type {!proto.lnrpc.ChannelCloseSummary.ClosureType} */ (jspb.Message.getFieldWithDefault(this, 10, 0));\n};\n\n\n/** @param {!proto.lnrpc.ChannelCloseSummary.ClosureType} value */\nproto.lnrpc.ChannelCloseSummary.prototype.setCloseType = function(value) {\n jspb.Message.setField(this, 10, value);\n};\n\n\n/**\n * optional Initiator open_initiator = 11;\n * @return {!proto.lnrpc.Initiator}\n */\nproto.lnrpc.ChannelCloseSummary.prototype.getOpenInitiator = function() {\n return /** @type {!proto.lnrpc.Initiator} */ (jspb.Message.getFieldWithDefault(this, 11, 0));\n};\n\n\n/** @param {!proto.lnrpc.Initiator} value */\nproto.lnrpc.ChannelCloseSummary.prototype.setOpenInitiator = function(value) {\n jspb.Message.setField(this, 11, value);\n};\n\n\n/**\n * optional Initiator close_initiator = 12;\n * @return {!proto.lnrpc.Initiator}\n */\nproto.lnrpc.ChannelCloseSummary.prototype.getCloseInitiator = function() {\n return /** @type {!proto.lnrpc.Initiator} */ (jspb.Message.getFieldWithDefault(this, 12, 0));\n};\n\n\n/** @param {!proto.lnrpc.Initiator} value */\nproto.lnrpc.ChannelCloseSummary.prototype.setCloseInitiator = function(value) {\n jspb.Message.setField(this, 12, value);\n};\n\n\n/**\n * repeated Resolution resolutions = 13;\n * @return {!Array.}\n */\nproto.lnrpc.ChannelCloseSummary.prototype.getResolutionsList = function() {\n return /** @type{!Array.} */ (\n jspb.Message.getRepeatedWrapperField(this, proto.lnrpc.Resolution, 13));\n};\n\n\n/** @param {!Array.} value */\nproto.lnrpc.ChannelCloseSummary.prototype.setResolutionsList = function(value) {\n jspb.Message.setRepeatedWrapperField(this, 13, value);\n};\n\n\n/**\n * @param {!proto.lnrpc.Resolution=} opt_value\n * @param {number=} opt_index\n * @return {!proto.lnrpc.Resolution}\n */\nproto.lnrpc.ChannelCloseSummary.prototype.addResolutions = function(opt_value, opt_index) {\n return jspb.Message.addToRepeatedWrapperField(this, 13, opt_value, proto.lnrpc.Resolution, opt_index);\n};\n\n\nproto.lnrpc.ChannelCloseSummary.prototype.clearResolutionsList = function() {\n this.setResolutionsList([]);\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.lnrpc.Resolution = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.lnrpc.Resolution, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.lnrpc.Resolution.displayName = 'proto.lnrpc.Resolution';\n}\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.lnrpc.Resolution.prototype.toObject = function(opt_includeInstance) {\n return proto.lnrpc.Resolution.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.lnrpc.Resolution} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.Resolution.toObject = function(includeInstance, msg) {\n var f, obj = {\n resolutionType: jspb.Message.getFieldWithDefault(msg, 1, 0),\n outcome: jspb.Message.getFieldWithDefault(msg, 2, 0),\n outpoint: (f = msg.getOutpoint()) && proto.lnrpc.OutPoint.toObject(includeInstance, f),\n amountSat: jspb.Message.getFieldWithDefault(msg, 4, 0),\n sweepTxid: jspb.Message.getFieldWithDefault(msg, 5, \"\")\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.lnrpc.Resolution}\n */\nproto.lnrpc.Resolution.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.lnrpc.Resolution;\n return proto.lnrpc.Resolution.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.lnrpc.Resolution} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.lnrpc.Resolution}\n */\nproto.lnrpc.Resolution.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {!proto.lnrpc.ResolutionType} */ (reader.readEnum());\n msg.setResolutionType(value);\n break;\n case 2:\n var value = /** @type {!proto.lnrpc.ResolutionOutcome} */ (reader.readEnum());\n msg.setOutcome(value);\n break;\n case 3:\n var value = new proto.lnrpc.OutPoint;\n reader.readMessage(value,proto.lnrpc.OutPoint.deserializeBinaryFromReader);\n msg.setOutpoint(value);\n break;\n case 4:\n var value = /** @type {number} */ (reader.readUint64());\n msg.setAmountSat(value);\n break;\n case 5:\n var value = /** @type {string} */ (reader.readString());\n msg.setSweepTxid(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.lnrpc.Resolution.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.lnrpc.Resolution.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.lnrpc.Resolution} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.Resolution.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getResolutionType();\n if (f !== 0.0) {\n writer.writeEnum(\n 1,\n f\n );\n }\n f = message.getOutcome();\n if (f !== 0.0) {\n writer.writeEnum(\n 2,\n f\n );\n }\n f = message.getOutpoint();\n if (f != null) {\n writer.writeMessage(\n 3,\n f,\n proto.lnrpc.OutPoint.serializeBinaryToWriter\n );\n }\n f = message.getAmountSat();\n if (f !== 0) {\n writer.writeUint64(\n 4,\n f\n );\n }\n f = message.getSweepTxid();\n if (f.length > 0) {\n writer.writeString(\n 5,\n f\n );\n }\n};\n\n\n/**\n * optional ResolutionType resolution_type = 1;\n * @return {!proto.lnrpc.ResolutionType}\n */\nproto.lnrpc.Resolution.prototype.getResolutionType = function() {\n return /** @type {!proto.lnrpc.ResolutionType} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/** @param {!proto.lnrpc.ResolutionType} value */\nproto.lnrpc.Resolution.prototype.setResolutionType = function(value) {\n jspb.Message.setField(this, 1, value);\n};\n\n\n/**\n * optional ResolutionOutcome outcome = 2;\n * @return {!proto.lnrpc.ResolutionOutcome}\n */\nproto.lnrpc.Resolution.prototype.getOutcome = function() {\n return /** @type {!proto.lnrpc.ResolutionOutcome} */ (jspb.Message.getFieldWithDefault(this, 2, 0));\n};\n\n\n/** @param {!proto.lnrpc.ResolutionOutcome} value */\nproto.lnrpc.Resolution.prototype.setOutcome = function(value) {\n jspb.Message.setField(this, 2, value);\n};\n\n\n/**\n * optional OutPoint outpoint = 3;\n * @return {?proto.lnrpc.OutPoint}\n */\nproto.lnrpc.Resolution.prototype.getOutpoint = function() {\n return /** @type{?proto.lnrpc.OutPoint} */ (\n jspb.Message.getWrapperField(this, proto.lnrpc.OutPoint, 3));\n};\n\n\n/** @param {?proto.lnrpc.OutPoint|undefined} value */\nproto.lnrpc.Resolution.prototype.setOutpoint = function(value) {\n jspb.Message.setWrapperField(this, 3, value);\n};\n\n\nproto.lnrpc.Resolution.prototype.clearOutpoint = function() {\n this.setOutpoint(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {!boolean}\n */\nproto.lnrpc.Resolution.prototype.hasOutpoint = function() {\n return jspb.Message.getField(this, 3) != null;\n};\n\n\n/**\n * optional uint64 amount_sat = 4;\n * @return {number}\n */\nproto.lnrpc.Resolution.prototype.getAmountSat = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.Resolution.prototype.setAmountSat = function(value) {\n jspb.Message.setField(this, 4, value);\n};\n\n\n/**\n * optional string sweep_txid = 5;\n * @return {string}\n */\nproto.lnrpc.Resolution.prototype.getSweepTxid = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, \"\"));\n};\n\n\n/** @param {string} value */\nproto.lnrpc.Resolution.prototype.setSweepTxid = function(value) {\n jspb.Message.setField(this, 5, value);\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.lnrpc.ClosedChannelsRequest = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.lnrpc.ClosedChannelsRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.lnrpc.ClosedChannelsRequest.displayName = 'proto.lnrpc.ClosedChannelsRequest';\n}\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.lnrpc.ClosedChannelsRequest.prototype.toObject = function(opt_includeInstance) {\n return proto.lnrpc.ClosedChannelsRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.lnrpc.ClosedChannelsRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.ClosedChannelsRequest.toObject = function(includeInstance, msg) {\n var f, obj = {\n cooperative: jspb.Message.getFieldWithDefault(msg, 1, false),\n localForce: jspb.Message.getFieldWithDefault(msg, 2, false),\n remoteForce: jspb.Message.getFieldWithDefault(msg, 3, false),\n breach: jspb.Message.getFieldWithDefault(msg, 4, false),\n fundingCanceled: jspb.Message.getFieldWithDefault(msg, 5, false),\n abandoned: jspb.Message.getFieldWithDefault(msg, 6, false)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.lnrpc.ClosedChannelsRequest}\n */\nproto.lnrpc.ClosedChannelsRequest.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.lnrpc.ClosedChannelsRequest;\n return proto.lnrpc.ClosedChannelsRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.lnrpc.ClosedChannelsRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.lnrpc.ClosedChannelsRequest}\n */\nproto.lnrpc.ClosedChannelsRequest.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setCooperative(value);\n break;\n case 2:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setLocalForce(value);\n break;\n case 3:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setRemoteForce(value);\n break;\n case 4:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setBreach(value);\n break;\n case 5:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setFundingCanceled(value);\n break;\n case 6:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setAbandoned(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.lnrpc.ClosedChannelsRequest.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.lnrpc.ClosedChannelsRequest.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.lnrpc.ClosedChannelsRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.ClosedChannelsRequest.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getCooperative();\n if (f) {\n writer.writeBool(\n 1,\n f\n );\n }\n f = message.getLocalForce();\n if (f) {\n writer.writeBool(\n 2,\n f\n );\n }\n f = message.getRemoteForce();\n if (f) {\n writer.writeBool(\n 3,\n f\n );\n }\n f = message.getBreach();\n if (f) {\n writer.writeBool(\n 4,\n f\n );\n }\n f = message.getFundingCanceled();\n if (f) {\n writer.writeBool(\n 5,\n f\n );\n }\n f = message.getAbandoned();\n if (f) {\n writer.writeBool(\n 6,\n f\n );\n }\n};\n\n\n/**\n * optional bool cooperative = 1;\n * Note that Boolean fields may be set to 0/1 when serialized from a Java server.\n * You should avoid comparisons like {@code val === true/false} in those cases.\n * @return {boolean}\n */\nproto.lnrpc.ClosedChannelsRequest.prototype.getCooperative = function() {\n return /** @type {boolean} */ (jspb.Message.getFieldWithDefault(this, 1, false));\n};\n\n\n/** @param {boolean} value */\nproto.lnrpc.ClosedChannelsRequest.prototype.setCooperative = function(value) {\n jspb.Message.setField(this, 1, value);\n};\n\n\n/**\n * optional bool local_force = 2;\n * Note that Boolean fields may be set to 0/1 when serialized from a Java server.\n * You should avoid comparisons like {@code val === true/false} in those cases.\n * @return {boolean}\n */\nproto.lnrpc.ClosedChannelsRequest.prototype.getLocalForce = function() {\n return /** @type {boolean} */ (jspb.Message.getFieldWithDefault(this, 2, false));\n};\n\n\n/** @param {boolean} value */\nproto.lnrpc.ClosedChannelsRequest.prototype.setLocalForce = function(value) {\n jspb.Message.setField(this, 2, value);\n};\n\n\n/**\n * optional bool remote_force = 3;\n * Note that Boolean fields may be set to 0/1 when serialized from a Java server.\n * You should avoid comparisons like {@code val === true/false} in those cases.\n * @return {boolean}\n */\nproto.lnrpc.ClosedChannelsRequest.prototype.getRemoteForce = function() {\n return /** @type {boolean} */ (jspb.Message.getFieldWithDefault(this, 3, false));\n};\n\n\n/** @param {boolean} value */\nproto.lnrpc.ClosedChannelsRequest.prototype.setRemoteForce = function(value) {\n jspb.Message.setField(this, 3, value);\n};\n\n\n/**\n * optional bool breach = 4;\n * Note that Boolean fields may be set to 0/1 when serialized from a Java server.\n * You should avoid comparisons like {@code val === true/false} in those cases.\n * @return {boolean}\n */\nproto.lnrpc.ClosedChannelsRequest.prototype.getBreach = function() {\n return /** @type {boolean} */ (jspb.Message.getFieldWithDefault(this, 4, false));\n};\n\n\n/** @param {boolean} value */\nproto.lnrpc.ClosedChannelsRequest.prototype.setBreach = function(value) {\n jspb.Message.setField(this, 4, value);\n};\n\n\n/**\n * optional bool funding_canceled = 5;\n * Note that Boolean fields may be set to 0/1 when serialized from a Java server.\n * You should avoid comparisons like {@code val === true/false} in those cases.\n * @return {boolean}\n */\nproto.lnrpc.ClosedChannelsRequest.prototype.getFundingCanceled = function() {\n return /** @type {boolean} */ (jspb.Message.getFieldWithDefault(this, 5, false));\n};\n\n\n/** @param {boolean} value */\nproto.lnrpc.ClosedChannelsRequest.prototype.setFundingCanceled = function(value) {\n jspb.Message.setField(this, 5, value);\n};\n\n\n/**\n * optional bool abandoned = 6;\n * Note that Boolean fields may be set to 0/1 when serialized from a Java server.\n * You should avoid comparisons like {@code val === true/false} in those cases.\n * @return {boolean}\n */\nproto.lnrpc.ClosedChannelsRequest.prototype.getAbandoned = function() {\n return /** @type {boolean} */ (jspb.Message.getFieldWithDefault(this, 6, false));\n};\n\n\n/** @param {boolean} value */\nproto.lnrpc.ClosedChannelsRequest.prototype.setAbandoned = function(value) {\n jspb.Message.setField(this, 6, value);\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.lnrpc.ClosedChannelsResponse = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, proto.lnrpc.ClosedChannelsResponse.repeatedFields_, null);\n};\ngoog.inherits(proto.lnrpc.ClosedChannelsResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.lnrpc.ClosedChannelsResponse.displayName = 'proto.lnrpc.ClosedChannelsResponse';\n}\n/**\n * List of repeated fields within this message type.\n * @private {!Array}\n * @const\n */\nproto.lnrpc.ClosedChannelsResponse.repeatedFields_ = [1];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.lnrpc.ClosedChannelsResponse.prototype.toObject = function(opt_includeInstance) {\n return proto.lnrpc.ClosedChannelsResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.lnrpc.ClosedChannelsResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.ClosedChannelsResponse.toObject = function(includeInstance, msg) {\n var f, obj = {\n channelsList: jspb.Message.toObjectList(msg.getChannelsList(),\n proto.lnrpc.ChannelCloseSummary.toObject, includeInstance)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.lnrpc.ClosedChannelsResponse}\n */\nproto.lnrpc.ClosedChannelsResponse.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.lnrpc.ClosedChannelsResponse;\n return proto.lnrpc.ClosedChannelsResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.lnrpc.ClosedChannelsResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.lnrpc.ClosedChannelsResponse}\n */\nproto.lnrpc.ClosedChannelsResponse.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = new proto.lnrpc.ChannelCloseSummary;\n reader.readMessage(value,proto.lnrpc.ChannelCloseSummary.deserializeBinaryFromReader);\n msg.addChannels(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.lnrpc.ClosedChannelsResponse.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.lnrpc.ClosedChannelsResponse.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.lnrpc.ClosedChannelsResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.ClosedChannelsResponse.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getChannelsList();\n if (f.length > 0) {\n writer.writeRepeatedMessage(\n 1,\n f,\n proto.lnrpc.ChannelCloseSummary.serializeBinaryToWriter\n );\n }\n};\n\n\n/**\n * repeated ChannelCloseSummary channels = 1;\n * @return {!Array.}\n */\nproto.lnrpc.ClosedChannelsResponse.prototype.getChannelsList = function() {\n return /** @type{!Array.} */ (\n jspb.Message.getRepeatedWrapperField(this, proto.lnrpc.ChannelCloseSummary, 1));\n};\n\n\n/** @param {!Array.} value */\nproto.lnrpc.ClosedChannelsResponse.prototype.setChannelsList = function(value) {\n jspb.Message.setRepeatedWrapperField(this, 1, value);\n};\n\n\n/**\n * @param {!proto.lnrpc.ChannelCloseSummary=} opt_value\n * @param {number=} opt_index\n * @return {!proto.lnrpc.ChannelCloseSummary}\n */\nproto.lnrpc.ClosedChannelsResponse.prototype.addChannels = function(opt_value, opt_index) {\n return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.lnrpc.ChannelCloseSummary, opt_index);\n};\n\n\nproto.lnrpc.ClosedChannelsResponse.prototype.clearChannelsList = function() {\n this.setChannelsList([]);\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.lnrpc.Peer = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, proto.lnrpc.Peer.repeatedFields_, null);\n};\ngoog.inherits(proto.lnrpc.Peer, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.lnrpc.Peer.displayName = 'proto.lnrpc.Peer';\n}\n/**\n * List of repeated fields within this message type.\n * @private {!Array}\n * @const\n */\nproto.lnrpc.Peer.repeatedFields_ = [12];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.lnrpc.Peer.prototype.toObject = function(opt_includeInstance) {\n return proto.lnrpc.Peer.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.lnrpc.Peer} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.Peer.toObject = function(includeInstance, msg) {\n var f, obj = {\n pubKey: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n address: jspb.Message.getFieldWithDefault(msg, 3, \"\"),\n bytesSent: jspb.Message.getFieldWithDefault(msg, 4, 0),\n bytesRecv: jspb.Message.getFieldWithDefault(msg, 5, 0),\n satSent: jspb.Message.getFieldWithDefault(msg, 6, 0),\n satRecv: jspb.Message.getFieldWithDefault(msg, 7, 0),\n inbound: jspb.Message.getFieldWithDefault(msg, 8, false),\n pingTime: jspb.Message.getFieldWithDefault(msg, 9, 0),\n syncType: jspb.Message.getFieldWithDefault(msg, 10, 0),\n featuresMap: (f = msg.getFeaturesMap()) ? f.toObject(includeInstance, proto.lnrpc.Feature.toObject) : [],\n errorsList: jspb.Message.toObjectList(msg.getErrorsList(),\n proto.lnrpc.TimestampedError.toObject, includeInstance)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.lnrpc.Peer}\n */\nproto.lnrpc.Peer.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.lnrpc.Peer;\n return proto.lnrpc.Peer.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.lnrpc.Peer} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.lnrpc.Peer}\n */\nproto.lnrpc.Peer.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setPubKey(value);\n break;\n case 3:\n var value = /** @type {string} */ (reader.readString());\n msg.setAddress(value);\n break;\n case 4:\n var value = /** @type {number} */ (reader.readUint64());\n msg.setBytesSent(value);\n break;\n case 5:\n var value = /** @type {number} */ (reader.readUint64());\n msg.setBytesRecv(value);\n break;\n case 6:\n var value = /** @type {number} */ (reader.readInt64());\n msg.setSatSent(value);\n break;\n case 7:\n var value = /** @type {number} */ (reader.readInt64());\n msg.setSatRecv(value);\n break;\n case 8:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setInbound(value);\n break;\n case 9:\n var value = /** @type {number} */ (reader.readInt64());\n msg.setPingTime(value);\n break;\n case 10:\n var value = /** @type {!proto.lnrpc.Peer.SyncType} */ (reader.readEnum());\n msg.setSyncType(value);\n break;\n case 11:\n var value = msg.getFeaturesMap();\n reader.readMessage(value, function(message, reader) {\n jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readUint32, jspb.BinaryReader.prototype.readMessage, proto.lnrpc.Feature.deserializeBinaryFromReader);\n });\n break;\n case 12:\n var value = new proto.lnrpc.TimestampedError;\n reader.readMessage(value,proto.lnrpc.TimestampedError.deserializeBinaryFromReader);\n msg.addErrors(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.lnrpc.Peer.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.lnrpc.Peer.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.lnrpc.Peer} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.Peer.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getPubKey();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n f = message.getAddress();\n if (f.length > 0) {\n writer.writeString(\n 3,\n f\n );\n }\n f = message.getBytesSent();\n if (f !== 0) {\n writer.writeUint64(\n 4,\n f\n );\n }\n f = message.getBytesRecv();\n if (f !== 0) {\n writer.writeUint64(\n 5,\n f\n );\n }\n f = message.getSatSent();\n if (f !== 0) {\n writer.writeInt64(\n 6,\n f\n );\n }\n f = message.getSatRecv();\n if (f !== 0) {\n writer.writeInt64(\n 7,\n f\n );\n }\n f = message.getInbound();\n if (f) {\n writer.writeBool(\n 8,\n f\n );\n }\n f = message.getPingTime();\n if (f !== 0) {\n writer.writeInt64(\n 9,\n f\n );\n }\n f = message.getSyncType();\n if (f !== 0.0) {\n writer.writeEnum(\n 10,\n f\n );\n }\n f = message.getFeaturesMap(true);\n if (f && f.getLength() > 0) {\n f.serializeBinary(11, writer, jspb.BinaryWriter.prototype.writeUint32, jspb.BinaryWriter.prototype.writeMessage, proto.lnrpc.Feature.serializeBinaryToWriter);\n }\n f = message.getErrorsList();\n if (f.length > 0) {\n writer.writeRepeatedMessage(\n 12,\n f,\n proto.lnrpc.TimestampedError.serializeBinaryToWriter\n );\n }\n};\n\n\n/**\n * @enum {number}\n */\nproto.lnrpc.Peer.SyncType = {\n UNKNOWN_SYNC: 0,\n ACTIVE_SYNC: 1,\n PASSIVE_SYNC: 2\n};\n\n/**\n * optional string pub_key = 1;\n * @return {string}\n */\nproto.lnrpc.Peer.prototype.getPubKey = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/** @param {string} value */\nproto.lnrpc.Peer.prototype.setPubKey = function(value) {\n jspb.Message.setField(this, 1, value);\n};\n\n\n/**\n * optional string address = 3;\n * @return {string}\n */\nproto.lnrpc.Peer.prototype.getAddress = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/** @param {string} value */\nproto.lnrpc.Peer.prototype.setAddress = function(value) {\n jspb.Message.setField(this, 3, value);\n};\n\n\n/**\n * optional uint64 bytes_sent = 4;\n * @return {number}\n */\nproto.lnrpc.Peer.prototype.getBytesSent = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.Peer.prototype.setBytesSent = function(value) {\n jspb.Message.setField(this, 4, value);\n};\n\n\n/**\n * optional uint64 bytes_recv = 5;\n * @return {number}\n */\nproto.lnrpc.Peer.prototype.getBytesRecv = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 5, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.Peer.prototype.setBytesRecv = function(value) {\n jspb.Message.setField(this, 5, value);\n};\n\n\n/**\n * optional int64 sat_sent = 6;\n * @return {number}\n */\nproto.lnrpc.Peer.prototype.getSatSent = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 6, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.Peer.prototype.setSatSent = function(value) {\n jspb.Message.setField(this, 6, value);\n};\n\n\n/**\n * optional int64 sat_recv = 7;\n * @return {number}\n */\nproto.lnrpc.Peer.prototype.getSatRecv = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 7, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.Peer.prototype.setSatRecv = function(value) {\n jspb.Message.setField(this, 7, value);\n};\n\n\n/**\n * optional bool inbound = 8;\n * Note that Boolean fields may be set to 0/1 when serialized from a Java server.\n * You should avoid comparisons like {@code val === true/false} in those cases.\n * @return {boolean}\n */\nproto.lnrpc.Peer.prototype.getInbound = function() {\n return /** @type {boolean} */ (jspb.Message.getFieldWithDefault(this, 8, false));\n};\n\n\n/** @param {boolean} value */\nproto.lnrpc.Peer.prototype.setInbound = function(value) {\n jspb.Message.setField(this, 8, value);\n};\n\n\n/**\n * optional int64 ping_time = 9;\n * @return {number}\n */\nproto.lnrpc.Peer.prototype.getPingTime = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 9, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.Peer.prototype.setPingTime = function(value) {\n jspb.Message.setField(this, 9, value);\n};\n\n\n/**\n * optional SyncType sync_type = 10;\n * @return {!proto.lnrpc.Peer.SyncType}\n */\nproto.lnrpc.Peer.prototype.getSyncType = function() {\n return /** @type {!proto.lnrpc.Peer.SyncType} */ (jspb.Message.getFieldWithDefault(this, 10, 0));\n};\n\n\n/** @param {!proto.lnrpc.Peer.SyncType} value */\nproto.lnrpc.Peer.prototype.setSyncType = function(value) {\n jspb.Message.setField(this, 10, value);\n};\n\n\n/**\n * map features = 11;\n * @param {boolean=} opt_noLazyCreate Do not create the map if\n * empty, instead returning `undefined`\n * @return {!jspb.Map}\n */\nproto.lnrpc.Peer.prototype.getFeaturesMap = function(opt_noLazyCreate) {\n return /** @type {!jspb.Map} */ (\n jspb.Message.getMapField(this, 11, opt_noLazyCreate,\n proto.lnrpc.Feature));\n};\n\n\nproto.lnrpc.Peer.prototype.clearFeaturesMap = function() {\n this.getFeaturesMap().clear();\n};\n\n\n/**\n * repeated TimestampedError errors = 12;\n * @return {!Array.}\n */\nproto.lnrpc.Peer.prototype.getErrorsList = function() {\n return /** @type{!Array.} */ (\n jspb.Message.getRepeatedWrapperField(this, proto.lnrpc.TimestampedError, 12));\n};\n\n\n/** @param {!Array.} value */\nproto.lnrpc.Peer.prototype.setErrorsList = function(value) {\n jspb.Message.setRepeatedWrapperField(this, 12, value);\n};\n\n\n/**\n * @param {!proto.lnrpc.TimestampedError=} opt_value\n * @param {number=} opt_index\n * @return {!proto.lnrpc.TimestampedError}\n */\nproto.lnrpc.Peer.prototype.addErrors = function(opt_value, opt_index) {\n return jspb.Message.addToRepeatedWrapperField(this, 12, opt_value, proto.lnrpc.TimestampedError, opt_index);\n};\n\n\nproto.lnrpc.Peer.prototype.clearErrorsList = function() {\n this.setErrorsList([]);\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.lnrpc.TimestampedError = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.lnrpc.TimestampedError, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.lnrpc.TimestampedError.displayName = 'proto.lnrpc.TimestampedError';\n}\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.lnrpc.TimestampedError.prototype.toObject = function(opt_includeInstance) {\n return proto.lnrpc.TimestampedError.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.lnrpc.TimestampedError} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.TimestampedError.toObject = function(includeInstance, msg) {\n var f, obj = {\n timestamp: jspb.Message.getFieldWithDefault(msg, 1, 0),\n error: jspb.Message.getFieldWithDefault(msg, 2, \"\")\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.lnrpc.TimestampedError}\n */\nproto.lnrpc.TimestampedError.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.lnrpc.TimestampedError;\n return proto.lnrpc.TimestampedError.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.lnrpc.TimestampedError} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.lnrpc.TimestampedError}\n */\nproto.lnrpc.TimestampedError.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {number} */ (reader.readUint64());\n msg.setTimestamp(value);\n break;\n case 2:\n var value = /** @type {string} */ (reader.readString());\n msg.setError(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.lnrpc.TimestampedError.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.lnrpc.TimestampedError.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.lnrpc.TimestampedError} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.TimestampedError.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getTimestamp();\n if (f !== 0) {\n writer.writeUint64(\n 1,\n f\n );\n }\n f = message.getError();\n if (f.length > 0) {\n writer.writeString(\n 2,\n f\n );\n }\n};\n\n\n/**\n * optional uint64 timestamp = 1;\n * @return {number}\n */\nproto.lnrpc.TimestampedError.prototype.getTimestamp = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.TimestampedError.prototype.setTimestamp = function(value) {\n jspb.Message.setField(this, 1, value);\n};\n\n\n/**\n * optional string error = 2;\n * @return {string}\n */\nproto.lnrpc.TimestampedError.prototype.getError = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/** @param {string} value */\nproto.lnrpc.TimestampedError.prototype.setError = function(value) {\n jspb.Message.setField(this, 2, value);\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.lnrpc.ListPeersRequest = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.lnrpc.ListPeersRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.lnrpc.ListPeersRequest.displayName = 'proto.lnrpc.ListPeersRequest';\n}\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.lnrpc.ListPeersRequest.prototype.toObject = function(opt_includeInstance) {\n return proto.lnrpc.ListPeersRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.lnrpc.ListPeersRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.ListPeersRequest.toObject = function(includeInstance, msg) {\n var f, obj = {\n latestError: jspb.Message.getFieldWithDefault(msg, 1, false)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.lnrpc.ListPeersRequest}\n */\nproto.lnrpc.ListPeersRequest.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.lnrpc.ListPeersRequest;\n return proto.lnrpc.ListPeersRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.lnrpc.ListPeersRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.lnrpc.ListPeersRequest}\n */\nproto.lnrpc.ListPeersRequest.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setLatestError(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.lnrpc.ListPeersRequest.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.lnrpc.ListPeersRequest.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.lnrpc.ListPeersRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.ListPeersRequest.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getLatestError();\n if (f) {\n writer.writeBool(\n 1,\n f\n );\n }\n};\n\n\n/**\n * optional bool latest_error = 1;\n * Note that Boolean fields may be set to 0/1 when serialized from a Java server.\n * You should avoid comparisons like {@code val === true/false} in those cases.\n * @return {boolean}\n */\nproto.lnrpc.ListPeersRequest.prototype.getLatestError = function() {\n return /** @type {boolean} */ (jspb.Message.getFieldWithDefault(this, 1, false));\n};\n\n\n/** @param {boolean} value */\nproto.lnrpc.ListPeersRequest.prototype.setLatestError = function(value) {\n jspb.Message.setField(this, 1, value);\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.lnrpc.ListPeersResponse = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, proto.lnrpc.ListPeersResponse.repeatedFields_, null);\n};\ngoog.inherits(proto.lnrpc.ListPeersResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.lnrpc.ListPeersResponse.displayName = 'proto.lnrpc.ListPeersResponse';\n}\n/**\n * List of repeated fields within this message type.\n * @private {!Array}\n * @const\n */\nproto.lnrpc.ListPeersResponse.repeatedFields_ = [1];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.lnrpc.ListPeersResponse.prototype.toObject = function(opt_includeInstance) {\n return proto.lnrpc.ListPeersResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.lnrpc.ListPeersResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.ListPeersResponse.toObject = function(includeInstance, msg) {\n var f, obj = {\n peersList: jspb.Message.toObjectList(msg.getPeersList(),\n proto.lnrpc.Peer.toObject, includeInstance)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.lnrpc.ListPeersResponse}\n */\nproto.lnrpc.ListPeersResponse.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.lnrpc.ListPeersResponse;\n return proto.lnrpc.ListPeersResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.lnrpc.ListPeersResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.lnrpc.ListPeersResponse}\n */\nproto.lnrpc.ListPeersResponse.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = new proto.lnrpc.Peer;\n reader.readMessage(value,proto.lnrpc.Peer.deserializeBinaryFromReader);\n msg.addPeers(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.lnrpc.ListPeersResponse.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.lnrpc.ListPeersResponse.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.lnrpc.ListPeersResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.ListPeersResponse.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getPeersList();\n if (f.length > 0) {\n writer.writeRepeatedMessage(\n 1,\n f,\n proto.lnrpc.Peer.serializeBinaryToWriter\n );\n }\n};\n\n\n/**\n * repeated Peer peers = 1;\n * @return {!Array.}\n */\nproto.lnrpc.ListPeersResponse.prototype.getPeersList = function() {\n return /** @type{!Array.} */ (\n jspb.Message.getRepeatedWrapperField(this, proto.lnrpc.Peer, 1));\n};\n\n\n/** @param {!Array.} value */\nproto.lnrpc.ListPeersResponse.prototype.setPeersList = function(value) {\n jspb.Message.setRepeatedWrapperField(this, 1, value);\n};\n\n\n/**\n * @param {!proto.lnrpc.Peer=} opt_value\n * @param {number=} opt_index\n * @return {!proto.lnrpc.Peer}\n */\nproto.lnrpc.ListPeersResponse.prototype.addPeers = function(opt_value, opt_index) {\n return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.lnrpc.Peer, opt_index);\n};\n\n\nproto.lnrpc.ListPeersResponse.prototype.clearPeersList = function() {\n this.setPeersList([]);\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.lnrpc.PeerEventSubscription = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.lnrpc.PeerEventSubscription, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.lnrpc.PeerEventSubscription.displayName = 'proto.lnrpc.PeerEventSubscription';\n}\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.lnrpc.PeerEventSubscription.prototype.toObject = function(opt_includeInstance) {\n return proto.lnrpc.PeerEventSubscription.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.lnrpc.PeerEventSubscription} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.PeerEventSubscription.toObject = function(includeInstance, msg) {\n var f, obj = {\n\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.lnrpc.PeerEventSubscription}\n */\nproto.lnrpc.PeerEventSubscription.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.lnrpc.PeerEventSubscription;\n return proto.lnrpc.PeerEventSubscription.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.lnrpc.PeerEventSubscription} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.lnrpc.PeerEventSubscription}\n */\nproto.lnrpc.PeerEventSubscription.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.lnrpc.PeerEventSubscription.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.lnrpc.PeerEventSubscription.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.lnrpc.PeerEventSubscription} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.PeerEventSubscription.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.lnrpc.PeerEvent = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.lnrpc.PeerEvent, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.lnrpc.PeerEvent.displayName = 'proto.lnrpc.PeerEvent';\n}\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.lnrpc.PeerEvent.prototype.toObject = function(opt_includeInstance) {\n return proto.lnrpc.PeerEvent.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.lnrpc.PeerEvent} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.PeerEvent.toObject = function(includeInstance, msg) {\n var f, obj = {\n pubKey: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n type: jspb.Message.getFieldWithDefault(msg, 2, 0)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.lnrpc.PeerEvent}\n */\nproto.lnrpc.PeerEvent.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.lnrpc.PeerEvent;\n return proto.lnrpc.PeerEvent.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.lnrpc.PeerEvent} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.lnrpc.PeerEvent}\n */\nproto.lnrpc.PeerEvent.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setPubKey(value);\n break;\n case 2:\n var value = /** @type {!proto.lnrpc.PeerEvent.EventType} */ (reader.readEnum());\n msg.setType(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.lnrpc.PeerEvent.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.lnrpc.PeerEvent.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.lnrpc.PeerEvent} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.PeerEvent.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getPubKey();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n f = message.getType();\n if (f !== 0.0) {\n writer.writeEnum(\n 2,\n f\n );\n }\n};\n\n\n/**\n * @enum {number}\n */\nproto.lnrpc.PeerEvent.EventType = {\n PEER_ONLINE: 0,\n PEER_OFFLINE: 1\n};\n\n/**\n * optional string pub_key = 1;\n * @return {string}\n */\nproto.lnrpc.PeerEvent.prototype.getPubKey = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/** @param {string} value */\nproto.lnrpc.PeerEvent.prototype.setPubKey = function(value) {\n jspb.Message.setField(this, 1, value);\n};\n\n\n/**\n * optional EventType type = 2;\n * @return {!proto.lnrpc.PeerEvent.EventType}\n */\nproto.lnrpc.PeerEvent.prototype.getType = function() {\n return /** @type {!proto.lnrpc.PeerEvent.EventType} */ (jspb.Message.getFieldWithDefault(this, 2, 0));\n};\n\n\n/** @param {!proto.lnrpc.PeerEvent.EventType} value */\nproto.lnrpc.PeerEvent.prototype.setType = function(value) {\n jspb.Message.setField(this, 2, value);\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.lnrpc.GetInfoRequest = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.lnrpc.GetInfoRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.lnrpc.GetInfoRequest.displayName = 'proto.lnrpc.GetInfoRequest';\n}\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.lnrpc.GetInfoRequest.prototype.toObject = function(opt_includeInstance) {\n return proto.lnrpc.GetInfoRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.lnrpc.GetInfoRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.GetInfoRequest.toObject = function(includeInstance, msg) {\n var f, obj = {\n\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.lnrpc.GetInfoRequest}\n */\nproto.lnrpc.GetInfoRequest.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.lnrpc.GetInfoRequest;\n return proto.lnrpc.GetInfoRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.lnrpc.GetInfoRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.lnrpc.GetInfoRequest}\n */\nproto.lnrpc.GetInfoRequest.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.lnrpc.GetInfoRequest.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.lnrpc.GetInfoRequest.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.lnrpc.GetInfoRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.GetInfoRequest.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.lnrpc.GetInfoResponse = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, proto.lnrpc.GetInfoResponse.repeatedFields_, null);\n};\ngoog.inherits(proto.lnrpc.GetInfoResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.lnrpc.GetInfoResponse.displayName = 'proto.lnrpc.GetInfoResponse';\n}\n/**\n * List of repeated fields within this message type.\n * @private {!Array}\n * @const\n */\nproto.lnrpc.GetInfoResponse.repeatedFields_ = [16,12];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.lnrpc.GetInfoResponse.prototype.toObject = function(opt_includeInstance) {\n return proto.lnrpc.GetInfoResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.lnrpc.GetInfoResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.GetInfoResponse.toObject = function(includeInstance, msg) {\n var f, obj = {\n version: jspb.Message.getFieldWithDefault(msg, 14, \"\"),\n commitHash: jspb.Message.getFieldWithDefault(msg, 20, \"\"),\n identityPubkey: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n alias: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n color: jspb.Message.getFieldWithDefault(msg, 17, \"\"),\n numPendingChannels: jspb.Message.getFieldWithDefault(msg, 3, 0),\n numActiveChannels: jspb.Message.getFieldWithDefault(msg, 4, 0),\n numInactiveChannels: jspb.Message.getFieldWithDefault(msg, 15, 0),\n numPeers: jspb.Message.getFieldWithDefault(msg, 5, 0),\n blockHeight: jspb.Message.getFieldWithDefault(msg, 6, 0),\n blockHash: jspb.Message.getFieldWithDefault(msg, 8, \"\"),\n bestHeaderTimestamp: jspb.Message.getFieldWithDefault(msg, 13, 0),\n syncedToChain: jspb.Message.getFieldWithDefault(msg, 9, false),\n syncedToGraph: jspb.Message.getFieldWithDefault(msg, 18, false),\n testnet: jspb.Message.getFieldWithDefault(msg, 10, false),\n chainsList: jspb.Message.toObjectList(msg.getChainsList(),\n proto.lnrpc.Chain.toObject, includeInstance),\n urisList: jspb.Message.getRepeatedField(msg, 12),\n featuresMap: (f = msg.getFeaturesMap()) ? f.toObject(includeInstance, proto.lnrpc.Feature.toObject) : []\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.lnrpc.GetInfoResponse}\n */\nproto.lnrpc.GetInfoResponse.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.lnrpc.GetInfoResponse;\n return proto.lnrpc.GetInfoResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.lnrpc.GetInfoResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.lnrpc.GetInfoResponse}\n */\nproto.lnrpc.GetInfoResponse.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 14:\n var value = /** @type {string} */ (reader.readString());\n msg.setVersion(value);\n break;\n case 20:\n var value = /** @type {string} */ (reader.readString());\n msg.setCommitHash(value);\n break;\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setIdentityPubkey(value);\n break;\n case 2:\n var value = /** @type {string} */ (reader.readString());\n msg.setAlias(value);\n break;\n case 17:\n var value = /** @type {string} */ (reader.readString());\n msg.setColor(value);\n break;\n case 3:\n var value = /** @type {number} */ (reader.readUint32());\n msg.setNumPendingChannels(value);\n break;\n case 4:\n var value = /** @type {number} */ (reader.readUint32());\n msg.setNumActiveChannels(value);\n break;\n case 15:\n var value = /** @type {number} */ (reader.readUint32());\n msg.setNumInactiveChannels(value);\n break;\n case 5:\n var value = /** @type {number} */ (reader.readUint32());\n msg.setNumPeers(value);\n break;\n case 6:\n var value = /** @type {number} */ (reader.readUint32());\n msg.setBlockHeight(value);\n break;\n case 8:\n var value = /** @type {string} */ (reader.readString());\n msg.setBlockHash(value);\n break;\n case 13:\n var value = /** @type {number} */ (reader.readInt64());\n msg.setBestHeaderTimestamp(value);\n break;\n case 9:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setSyncedToChain(value);\n break;\n case 18:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setSyncedToGraph(value);\n break;\n case 10:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setTestnet(value);\n break;\n case 16:\n var value = new proto.lnrpc.Chain;\n reader.readMessage(value,proto.lnrpc.Chain.deserializeBinaryFromReader);\n msg.addChains(value);\n break;\n case 12:\n var value = /** @type {string} */ (reader.readString());\n msg.addUris(value);\n break;\n case 19:\n var value = msg.getFeaturesMap();\n reader.readMessage(value, function(message, reader) {\n jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readUint32, jspb.BinaryReader.prototype.readMessage, proto.lnrpc.Feature.deserializeBinaryFromReader);\n });\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.lnrpc.GetInfoResponse.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.lnrpc.GetInfoResponse.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.lnrpc.GetInfoResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.GetInfoResponse.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getVersion();\n if (f.length > 0) {\n writer.writeString(\n 14,\n f\n );\n }\n f = message.getCommitHash();\n if (f.length > 0) {\n writer.writeString(\n 20,\n f\n );\n }\n f = message.getIdentityPubkey();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n f = message.getAlias();\n if (f.length > 0) {\n writer.writeString(\n 2,\n f\n );\n }\n f = message.getColor();\n if (f.length > 0) {\n writer.writeString(\n 17,\n f\n );\n }\n f = message.getNumPendingChannels();\n if (f !== 0) {\n writer.writeUint32(\n 3,\n f\n );\n }\n f = message.getNumActiveChannels();\n if (f !== 0) {\n writer.writeUint32(\n 4,\n f\n );\n }\n f = message.getNumInactiveChannels();\n if (f !== 0) {\n writer.writeUint32(\n 15,\n f\n );\n }\n f = message.getNumPeers();\n if (f !== 0) {\n writer.writeUint32(\n 5,\n f\n );\n }\n f = message.getBlockHeight();\n if (f !== 0) {\n writer.writeUint32(\n 6,\n f\n );\n }\n f = message.getBlockHash();\n if (f.length > 0) {\n writer.writeString(\n 8,\n f\n );\n }\n f = message.getBestHeaderTimestamp();\n if (f !== 0) {\n writer.writeInt64(\n 13,\n f\n );\n }\n f = message.getSyncedToChain();\n if (f) {\n writer.writeBool(\n 9,\n f\n );\n }\n f = message.getSyncedToGraph();\n if (f) {\n writer.writeBool(\n 18,\n f\n );\n }\n f = message.getTestnet();\n if (f) {\n writer.writeBool(\n 10,\n f\n );\n }\n f = message.getChainsList();\n if (f.length > 0) {\n writer.writeRepeatedMessage(\n 16,\n f,\n proto.lnrpc.Chain.serializeBinaryToWriter\n );\n }\n f = message.getUrisList();\n if (f.length > 0) {\n writer.writeRepeatedString(\n 12,\n f\n );\n }\n f = message.getFeaturesMap(true);\n if (f && f.getLength() > 0) {\n f.serializeBinary(19, writer, jspb.BinaryWriter.prototype.writeUint32, jspb.BinaryWriter.prototype.writeMessage, proto.lnrpc.Feature.serializeBinaryToWriter);\n }\n};\n\n\n/**\n * optional string version = 14;\n * @return {string}\n */\nproto.lnrpc.GetInfoResponse.prototype.getVersion = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 14, \"\"));\n};\n\n\n/** @param {string} value */\nproto.lnrpc.GetInfoResponse.prototype.setVersion = function(value) {\n jspb.Message.setField(this, 14, value);\n};\n\n\n/**\n * optional string commit_hash = 20;\n * @return {string}\n */\nproto.lnrpc.GetInfoResponse.prototype.getCommitHash = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 20, \"\"));\n};\n\n\n/** @param {string} value */\nproto.lnrpc.GetInfoResponse.prototype.setCommitHash = function(value) {\n jspb.Message.setField(this, 20, value);\n};\n\n\n/**\n * optional string identity_pubkey = 1;\n * @return {string}\n */\nproto.lnrpc.GetInfoResponse.prototype.getIdentityPubkey = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/** @param {string} value */\nproto.lnrpc.GetInfoResponse.prototype.setIdentityPubkey = function(value) {\n jspb.Message.setField(this, 1, value);\n};\n\n\n/**\n * optional string alias = 2;\n * @return {string}\n */\nproto.lnrpc.GetInfoResponse.prototype.getAlias = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/** @param {string} value */\nproto.lnrpc.GetInfoResponse.prototype.setAlias = function(value) {\n jspb.Message.setField(this, 2, value);\n};\n\n\n/**\n * optional string color = 17;\n * @return {string}\n */\nproto.lnrpc.GetInfoResponse.prototype.getColor = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 17, \"\"));\n};\n\n\n/** @param {string} value */\nproto.lnrpc.GetInfoResponse.prototype.setColor = function(value) {\n jspb.Message.setField(this, 17, value);\n};\n\n\n/**\n * optional uint32 num_pending_channels = 3;\n * @return {number}\n */\nproto.lnrpc.GetInfoResponse.prototype.getNumPendingChannels = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.GetInfoResponse.prototype.setNumPendingChannels = function(value) {\n jspb.Message.setField(this, 3, value);\n};\n\n\n/**\n * optional uint32 num_active_channels = 4;\n * @return {number}\n */\nproto.lnrpc.GetInfoResponse.prototype.getNumActiveChannels = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.GetInfoResponse.prototype.setNumActiveChannels = function(value) {\n jspb.Message.setField(this, 4, value);\n};\n\n\n/**\n * optional uint32 num_inactive_channels = 15;\n * @return {number}\n */\nproto.lnrpc.GetInfoResponse.prototype.getNumInactiveChannels = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 15, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.GetInfoResponse.prototype.setNumInactiveChannels = function(value) {\n jspb.Message.setField(this, 15, value);\n};\n\n\n/**\n * optional uint32 num_peers = 5;\n * @return {number}\n */\nproto.lnrpc.GetInfoResponse.prototype.getNumPeers = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 5, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.GetInfoResponse.prototype.setNumPeers = function(value) {\n jspb.Message.setField(this, 5, value);\n};\n\n\n/**\n * optional uint32 block_height = 6;\n * @return {number}\n */\nproto.lnrpc.GetInfoResponse.prototype.getBlockHeight = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 6, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.GetInfoResponse.prototype.setBlockHeight = function(value) {\n jspb.Message.setField(this, 6, value);\n};\n\n\n/**\n * optional string block_hash = 8;\n * @return {string}\n */\nproto.lnrpc.GetInfoResponse.prototype.getBlockHash = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 8, \"\"));\n};\n\n\n/** @param {string} value */\nproto.lnrpc.GetInfoResponse.prototype.setBlockHash = function(value) {\n jspb.Message.setField(this, 8, value);\n};\n\n\n/**\n * optional int64 best_header_timestamp = 13;\n * @return {number}\n */\nproto.lnrpc.GetInfoResponse.prototype.getBestHeaderTimestamp = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 13, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.GetInfoResponse.prototype.setBestHeaderTimestamp = function(value) {\n jspb.Message.setField(this, 13, value);\n};\n\n\n/**\n * optional bool synced_to_chain = 9;\n * Note that Boolean fields may be set to 0/1 when serialized from a Java server.\n * You should avoid comparisons like {@code val === true/false} in those cases.\n * @return {boolean}\n */\nproto.lnrpc.GetInfoResponse.prototype.getSyncedToChain = function() {\n return /** @type {boolean} */ (jspb.Message.getFieldWithDefault(this, 9, false));\n};\n\n\n/** @param {boolean} value */\nproto.lnrpc.GetInfoResponse.prototype.setSyncedToChain = function(value) {\n jspb.Message.setField(this, 9, value);\n};\n\n\n/**\n * optional bool synced_to_graph = 18;\n * Note that Boolean fields may be set to 0/1 when serialized from a Java server.\n * You should avoid comparisons like {@code val === true/false} in those cases.\n * @return {boolean}\n */\nproto.lnrpc.GetInfoResponse.prototype.getSyncedToGraph = function() {\n return /** @type {boolean} */ (jspb.Message.getFieldWithDefault(this, 18, false));\n};\n\n\n/** @param {boolean} value */\nproto.lnrpc.GetInfoResponse.prototype.setSyncedToGraph = function(value) {\n jspb.Message.setField(this, 18, value);\n};\n\n\n/**\n * optional bool testnet = 10;\n * Note that Boolean fields may be set to 0/1 when serialized from a Java server.\n * You should avoid comparisons like {@code val === true/false} in those cases.\n * @return {boolean}\n */\nproto.lnrpc.GetInfoResponse.prototype.getTestnet = function() {\n return /** @type {boolean} */ (jspb.Message.getFieldWithDefault(this, 10, false));\n};\n\n\n/** @param {boolean} value */\nproto.lnrpc.GetInfoResponse.prototype.setTestnet = function(value) {\n jspb.Message.setField(this, 10, value);\n};\n\n\n/**\n * repeated Chain chains = 16;\n * @return {!Array.}\n */\nproto.lnrpc.GetInfoResponse.prototype.getChainsList = function() {\n return /** @type{!Array.} */ (\n jspb.Message.getRepeatedWrapperField(this, proto.lnrpc.Chain, 16));\n};\n\n\n/** @param {!Array.} value */\nproto.lnrpc.GetInfoResponse.prototype.setChainsList = function(value) {\n jspb.Message.setRepeatedWrapperField(this, 16, value);\n};\n\n\n/**\n * @param {!proto.lnrpc.Chain=} opt_value\n * @param {number=} opt_index\n * @return {!proto.lnrpc.Chain}\n */\nproto.lnrpc.GetInfoResponse.prototype.addChains = function(opt_value, opt_index) {\n return jspb.Message.addToRepeatedWrapperField(this, 16, opt_value, proto.lnrpc.Chain, opt_index);\n};\n\n\nproto.lnrpc.GetInfoResponse.prototype.clearChainsList = function() {\n this.setChainsList([]);\n};\n\n\n/**\n * repeated string uris = 12;\n * @return {!Array.}\n */\nproto.lnrpc.GetInfoResponse.prototype.getUrisList = function() {\n return /** @type {!Array.} */ (jspb.Message.getRepeatedField(this, 12));\n};\n\n\n/** @param {!Array.} value */\nproto.lnrpc.GetInfoResponse.prototype.setUrisList = function(value) {\n jspb.Message.setField(this, 12, value || []);\n};\n\n\n/**\n * @param {!string} value\n * @param {number=} opt_index\n */\nproto.lnrpc.GetInfoResponse.prototype.addUris = function(value, opt_index) {\n jspb.Message.addToRepeatedField(this, 12, value, opt_index);\n};\n\n\nproto.lnrpc.GetInfoResponse.prototype.clearUrisList = function() {\n this.setUrisList([]);\n};\n\n\n/**\n * map features = 19;\n * @param {boolean=} opt_noLazyCreate Do not create the map if\n * empty, instead returning `undefined`\n * @return {!jspb.Map}\n */\nproto.lnrpc.GetInfoResponse.prototype.getFeaturesMap = function(opt_noLazyCreate) {\n return /** @type {!jspb.Map} */ (\n jspb.Message.getMapField(this, 19, opt_noLazyCreate,\n proto.lnrpc.Feature));\n};\n\n\nproto.lnrpc.GetInfoResponse.prototype.clearFeaturesMap = function() {\n this.getFeaturesMap().clear();\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.lnrpc.GetRecoveryInfoRequest = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.lnrpc.GetRecoveryInfoRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.lnrpc.GetRecoveryInfoRequest.displayName = 'proto.lnrpc.GetRecoveryInfoRequest';\n}\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.lnrpc.GetRecoveryInfoRequest.prototype.toObject = function(opt_includeInstance) {\n return proto.lnrpc.GetRecoveryInfoRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.lnrpc.GetRecoveryInfoRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.GetRecoveryInfoRequest.toObject = function(includeInstance, msg) {\n var f, obj = {\n\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.lnrpc.GetRecoveryInfoRequest}\n */\nproto.lnrpc.GetRecoveryInfoRequest.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.lnrpc.GetRecoveryInfoRequest;\n return proto.lnrpc.GetRecoveryInfoRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.lnrpc.GetRecoveryInfoRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.lnrpc.GetRecoveryInfoRequest}\n */\nproto.lnrpc.GetRecoveryInfoRequest.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.lnrpc.GetRecoveryInfoRequest.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.lnrpc.GetRecoveryInfoRequest.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.lnrpc.GetRecoveryInfoRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.GetRecoveryInfoRequest.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.lnrpc.GetRecoveryInfoResponse = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.lnrpc.GetRecoveryInfoResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.lnrpc.GetRecoveryInfoResponse.displayName = 'proto.lnrpc.GetRecoveryInfoResponse';\n}\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.lnrpc.GetRecoveryInfoResponse.prototype.toObject = function(opt_includeInstance) {\n return proto.lnrpc.GetRecoveryInfoResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.lnrpc.GetRecoveryInfoResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.GetRecoveryInfoResponse.toObject = function(includeInstance, msg) {\n var f, obj = {\n recoveryMode: jspb.Message.getFieldWithDefault(msg, 1, false),\n recoveryFinished: jspb.Message.getFieldWithDefault(msg, 2, false),\n progress: +jspb.Message.getFieldWithDefault(msg, 3, 0.0)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.lnrpc.GetRecoveryInfoResponse}\n */\nproto.lnrpc.GetRecoveryInfoResponse.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.lnrpc.GetRecoveryInfoResponse;\n return proto.lnrpc.GetRecoveryInfoResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.lnrpc.GetRecoveryInfoResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.lnrpc.GetRecoveryInfoResponse}\n */\nproto.lnrpc.GetRecoveryInfoResponse.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setRecoveryMode(value);\n break;\n case 2:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setRecoveryFinished(value);\n break;\n case 3:\n var value = /** @type {number} */ (reader.readDouble());\n msg.setProgress(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.lnrpc.GetRecoveryInfoResponse.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.lnrpc.GetRecoveryInfoResponse.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.lnrpc.GetRecoveryInfoResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.GetRecoveryInfoResponse.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getRecoveryMode();\n if (f) {\n writer.writeBool(\n 1,\n f\n );\n }\n f = message.getRecoveryFinished();\n if (f) {\n writer.writeBool(\n 2,\n f\n );\n }\n f = message.getProgress();\n if (f !== 0.0) {\n writer.writeDouble(\n 3,\n f\n );\n }\n};\n\n\n/**\n * optional bool recovery_mode = 1;\n * Note that Boolean fields may be set to 0/1 when serialized from a Java server.\n * You should avoid comparisons like {@code val === true/false} in those cases.\n * @return {boolean}\n */\nproto.lnrpc.GetRecoveryInfoResponse.prototype.getRecoveryMode = function() {\n return /** @type {boolean} */ (jspb.Message.getFieldWithDefault(this, 1, false));\n};\n\n\n/** @param {boolean} value */\nproto.lnrpc.GetRecoveryInfoResponse.prototype.setRecoveryMode = function(value) {\n jspb.Message.setField(this, 1, value);\n};\n\n\n/**\n * optional bool recovery_finished = 2;\n * Note that Boolean fields may be set to 0/1 when serialized from a Java server.\n * You should avoid comparisons like {@code val === true/false} in those cases.\n * @return {boolean}\n */\nproto.lnrpc.GetRecoveryInfoResponse.prototype.getRecoveryFinished = function() {\n return /** @type {boolean} */ (jspb.Message.getFieldWithDefault(this, 2, false));\n};\n\n\n/** @param {boolean} value */\nproto.lnrpc.GetRecoveryInfoResponse.prototype.setRecoveryFinished = function(value) {\n jspb.Message.setField(this, 2, value);\n};\n\n\n/**\n * optional double progress = 3;\n * @return {number}\n */\nproto.lnrpc.GetRecoveryInfoResponse.prototype.getProgress = function() {\n return /** @type {number} */ (+jspb.Message.getFieldWithDefault(this, 3, 0.0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.GetRecoveryInfoResponse.prototype.setProgress = function(value) {\n jspb.Message.setField(this, 3, value);\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.lnrpc.Chain = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.lnrpc.Chain, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.lnrpc.Chain.displayName = 'proto.lnrpc.Chain';\n}\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.lnrpc.Chain.prototype.toObject = function(opt_includeInstance) {\n return proto.lnrpc.Chain.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.lnrpc.Chain} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.Chain.toObject = function(includeInstance, msg) {\n var f, obj = {\n chain: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n network: jspb.Message.getFieldWithDefault(msg, 2, \"\")\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.lnrpc.Chain}\n */\nproto.lnrpc.Chain.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.lnrpc.Chain;\n return proto.lnrpc.Chain.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.lnrpc.Chain} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.lnrpc.Chain}\n */\nproto.lnrpc.Chain.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setChain(value);\n break;\n case 2:\n var value = /** @type {string} */ (reader.readString());\n msg.setNetwork(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.lnrpc.Chain.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.lnrpc.Chain.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.lnrpc.Chain} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.Chain.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getChain();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n f = message.getNetwork();\n if (f.length > 0) {\n writer.writeString(\n 2,\n f\n );\n }\n};\n\n\n/**\n * optional string chain = 1;\n * @return {string}\n */\nproto.lnrpc.Chain.prototype.getChain = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/** @param {string} value */\nproto.lnrpc.Chain.prototype.setChain = function(value) {\n jspb.Message.setField(this, 1, value);\n};\n\n\n/**\n * optional string network = 2;\n * @return {string}\n */\nproto.lnrpc.Chain.prototype.getNetwork = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/** @param {string} value */\nproto.lnrpc.Chain.prototype.setNetwork = function(value) {\n jspb.Message.setField(this, 2, value);\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.lnrpc.ConfirmationUpdate = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.lnrpc.ConfirmationUpdate, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.lnrpc.ConfirmationUpdate.displayName = 'proto.lnrpc.ConfirmationUpdate';\n}\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.lnrpc.ConfirmationUpdate.prototype.toObject = function(opt_includeInstance) {\n return proto.lnrpc.ConfirmationUpdate.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.lnrpc.ConfirmationUpdate} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.ConfirmationUpdate.toObject = function(includeInstance, msg) {\n var f, obj = {\n blockSha: msg.getBlockSha_asB64(),\n blockHeight: jspb.Message.getFieldWithDefault(msg, 2, 0),\n numConfsLeft: jspb.Message.getFieldWithDefault(msg, 3, 0)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.lnrpc.ConfirmationUpdate}\n */\nproto.lnrpc.ConfirmationUpdate.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.lnrpc.ConfirmationUpdate;\n return proto.lnrpc.ConfirmationUpdate.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.lnrpc.ConfirmationUpdate} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.lnrpc.ConfirmationUpdate}\n */\nproto.lnrpc.ConfirmationUpdate.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {!Uint8Array} */ (reader.readBytes());\n msg.setBlockSha(value);\n break;\n case 2:\n var value = /** @type {number} */ (reader.readInt32());\n msg.setBlockHeight(value);\n break;\n case 3:\n var value = /** @type {number} */ (reader.readUint32());\n msg.setNumConfsLeft(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.lnrpc.ConfirmationUpdate.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.lnrpc.ConfirmationUpdate.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.lnrpc.ConfirmationUpdate} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.ConfirmationUpdate.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getBlockSha_asU8();\n if (f.length > 0) {\n writer.writeBytes(\n 1,\n f\n );\n }\n f = message.getBlockHeight();\n if (f !== 0) {\n writer.writeInt32(\n 2,\n f\n );\n }\n f = message.getNumConfsLeft();\n if (f !== 0) {\n writer.writeUint32(\n 3,\n f\n );\n }\n};\n\n\n/**\n * optional bytes block_sha = 1;\n * @return {string}\n */\nproto.lnrpc.ConfirmationUpdate.prototype.getBlockSha = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * optional bytes block_sha = 1;\n * This is a type-conversion wrapper around `getBlockSha()`\n * @return {string}\n */\nproto.lnrpc.ConfirmationUpdate.prototype.getBlockSha_asB64 = function() {\n return /** @type {string} */ (jspb.Message.bytesAsB64(\n this.getBlockSha()));\n};\n\n\n/**\n * optional bytes block_sha = 1;\n * Note that Uint8Array is not supported on all browsers.\n * @see http://caniuse.com/Uint8Array\n * This is a type-conversion wrapper around `getBlockSha()`\n * @return {!Uint8Array}\n */\nproto.lnrpc.ConfirmationUpdate.prototype.getBlockSha_asU8 = function() {\n return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(\n this.getBlockSha()));\n};\n\n\n/** @param {!(string|Uint8Array)} value */\nproto.lnrpc.ConfirmationUpdate.prototype.setBlockSha = function(value) {\n jspb.Message.setField(this, 1, value);\n};\n\n\n/**\n * optional int32 block_height = 2;\n * @return {number}\n */\nproto.lnrpc.ConfirmationUpdate.prototype.getBlockHeight = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.ConfirmationUpdate.prototype.setBlockHeight = function(value) {\n jspb.Message.setField(this, 2, value);\n};\n\n\n/**\n * optional uint32 num_confs_left = 3;\n * @return {number}\n */\nproto.lnrpc.ConfirmationUpdate.prototype.getNumConfsLeft = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.ConfirmationUpdate.prototype.setNumConfsLeft = function(value) {\n jspb.Message.setField(this, 3, value);\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.lnrpc.ChannelOpenUpdate = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.lnrpc.ChannelOpenUpdate, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.lnrpc.ChannelOpenUpdate.displayName = 'proto.lnrpc.ChannelOpenUpdate';\n}\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.lnrpc.ChannelOpenUpdate.prototype.toObject = function(opt_includeInstance) {\n return proto.lnrpc.ChannelOpenUpdate.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.lnrpc.ChannelOpenUpdate} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.ChannelOpenUpdate.toObject = function(includeInstance, msg) {\n var f, obj = {\n channelPoint: (f = msg.getChannelPoint()) && proto.lnrpc.ChannelPoint.toObject(includeInstance, f)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.lnrpc.ChannelOpenUpdate}\n */\nproto.lnrpc.ChannelOpenUpdate.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.lnrpc.ChannelOpenUpdate;\n return proto.lnrpc.ChannelOpenUpdate.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.lnrpc.ChannelOpenUpdate} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.lnrpc.ChannelOpenUpdate}\n */\nproto.lnrpc.ChannelOpenUpdate.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = new proto.lnrpc.ChannelPoint;\n reader.readMessage(value,proto.lnrpc.ChannelPoint.deserializeBinaryFromReader);\n msg.setChannelPoint(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.lnrpc.ChannelOpenUpdate.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.lnrpc.ChannelOpenUpdate.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.lnrpc.ChannelOpenUpdate} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.ChannelOpenUpdate.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getChannelPoint();\n if (f != null) {\n writer.writeMessage(\n 1,\n f,\n proto.lnrpc.ChannelPoint.serializeBinaryToWriter\n );\n }\n};\n\n\n/**\n * optional ChannelPoint channel_point = 1;\n * @return {?proto.lnrpc.ChannelPoint}\n */\nproto.lnrpc.ChannelOpenUpdate.prototype.getChannelPoint = function() {\n return /** @type{?proto.lnrpc.ChannelPoint} */ (\n jspb.Message.getWrapperField(this, proto.lnrpc.ChannelPoint, 1));\n};\n\n\n/** @param {?proto.lnrpc.ChannelPoint|undefined} value */\nproto.lnrpc.ChannelOpenUpdate.prototype.setChannelPoint = function(value) {\n jspb.Message.setWrapperField(this, 1, value);\n};\n\n\nproto.lnrpc.ChannelOpenUpdate.prototype.clearChannelPoint = function() {\n this.setChannelPoint(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {!boolean}\n */\nproto.lnrpc.ChannelOpenUpdate.prototype.hasChannelPoint = function() {\n return jspb.Message.getField(this, 1) != null;\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.lnrpc.ChannelCloseUpdate = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.lnrpc.ChannelCloseUpdate, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.lnrpc.ChannelCloseUpdate.displayName = 'proto.lnrpc.ChannelCloseUpdate';\n}\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.lnrpc.ChannelCloseUpdate.prototype.toObject = function(opt_includeInstance) {\n return proto.lnrpc.ChannelCloseUpdate.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.lnrpc.ChannelCloseUpdate} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.ChannelCloseUpdate.toObject = function(includeInstance, msg) {\n var f, obj = {\n closingTxid: msg.getClosingTxid_asB64(),\n success: jspb.Message.getFieldWithDefault(msg, 2, false)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.lnrpc.ChannelCloseUpdate}\n */\nproto.lnrpc.ChannelCloseUpdate.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.lnrpc.ChannelCloseUpdate;\n return proto.lnrpc.ChannelCloseUpdate.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.lnrpc.ChannelCloseUpdate} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.lnrpc.ChannelCloseUpdate}\n */\nproto.lnrpc.ChannelCloseUpdate.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {!Uint8Array} */ (reader.readBytes());\n msg.setClosingTxid(value);\n break;\n case 2:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setSuccess(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.lnrpc.ChannelCloseUpdate.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.lnrpc.ChannelCloseUpdate.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.lnrpc.ChannelCloseUpdate} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.ChannelCloseUpdate.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getClosingTxid_asU8();\n if (f.length > 0) {\n writer.writeBytes(\n 1,\n f\n );\n }\n f = message.getSuccess();\n if (f) {\n writer.writeBool(\n 2,\n f\n );\n }\n};\n\n\n/**\n * optional bytes closing_txid = 1;\n * @return {string}\n */\nproto.lnrpc.ChannelCloseUpdate.prototype.getClosingTxid = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * optional bytes closing_txid = 1;\n * This is a type-conversion wrapper around `getClosingTxid()`\n * @return {string}\n */\nproto.lnrpc.ChannelCloseUpdate.prototype.getClosingTxid_asB64 = function() {\n return /** @type {string} */ (jspb.Message.bytesAsB64(\n this.getClosingTxid()));\n};\n\n\n/**\n * optional bytes closing_txid = 1;\n * Note that Uint8Array is not supported on all browsers.\n * @see http://caniuse.com/Uint8Array\n * This is a type-conversion wrapper around `getClosingTxid()`\n * @return {!Uint8Array}\n */\nproto.lnrpc.ChannelCloseUpdate.prototype.getClosingTxid_asU8 = function() {\n return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(\n this.getClosingTxid()));\n};\n\n\n/** @param {!(string|Uint8Array)} value */\nproto.lnrpc.ChannelCloseUpdate.prototype.setClosingTxid = function(value) {\n jspb.Message.setField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * Note that Boolean fields may be set to 0/1 when serialized from a Java server.\n * You should avoid comparisons like {@code val === true/false} in those cases.\n * @return {boolean}\n */\nproto.lnrpc.ChannelCloseUpdate.prototype.getSuccess = function() {\n return /** @type {boolean} */ (jspb.Message.getFieldWithDefault(this, 2, false));\n};\n\n\n/** @param {boolean} value */\nproto.lnrpc.ChannelCloseUpdate.prototype.setSuccess = function(value) {\n jspb.Message.setField(this, 2, value);\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.lnrpc.CloseChannelRequest = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.lnrpc.CloseChannelRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.lnrpc.CloseChannelRequest.displayName = 'proto.lnrpc.CloseChannelRequest';\n}\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.lnrpc.CloseChannelRequest.prototype.toObject = function(opt_includeInstance) {\n return proto.lnrpc.CloseChannelRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.lnrpc.CloseChannelRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.CloseChannelRequest.toObject = function(includeInstance, msg) {\n var f, obj = {\n channelPoint: (f = msg.getChannelPoint()) && proto.lnrpc.ChannelPoint.toObject(includeInstance, f),\n force: jspb.Message.getFieldWithDefault(msg, 2, false),\n targetConf: jspb.Message.getFieldWithDefault(msg, 3, 0),\n satPerByte: jspb.Message.getFieldWithDefault(msg, 4, 0),\n deliveryAddress: jspb.Message.getFieldWithDefault(msg, 5, \"\")\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.lnrpc.CloseChannelRequest}\n */\nproto.lnrpc.CloseChannelRequest.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.lnrpc.CloseChannelRequest;\n return proto.lnrpc.CloseChannelRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.lnrpc.CloseChannelRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.lnrpc.CloseChannelRequest}\n */\nproto.lnrpc.CloseChannelRequest.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = new proto.lnrpc.ChannelPoint;\n reader.readMessage(value,proto.lnrpc.ChannelPoint.deserializeBinaryFromReader);\n msg.setChannelPoint(value);\n break;\n case 2:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setForce(value);\n break;\n case 3:\n var value = /** @type {number} */ (reader.readInt32());\n msg.setTargetConf(value);\n break;\n case 4:\n var value = /** @type {number} */ (reader.readInt64());\n msg.setSatPerByte(value);\n break;\n case 5:\n var value = /** @type {string} */ (reader.readString());\n msg.setDeliveryAddress(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.lnrpc.CloseChannelRequest.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.lnrpc.CloseChannelRequest.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.lnrpc.CloseChannelRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.CloseChannelRequest.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getChannelPoint();\n if (f != null) {\n writer.writeMessage(\n 1,\n f,\n proto.lnrpc.ChannelPoint.serializeBinaryToWriter\n );\n }\n f = message.getForce();\n if (f) {\n writer.writeBool(\n 2,\n f\n );\n }\n f = message.getTargetConf();\n if (f !== 0) {\n writer.writeInt32(\n 3,\n f\n );\n }\n f = message.getSatPerByte();\n if (f !== 0) {\n writer.writeInt64(\n 4,\n f\n );\n }\n f = message.getDeliveryAddress();\n if (f.length > 0) {\n writer.writeString(\n 5,\n f\n );\n }\n};\n\n\n/**\n * optional ChannelPoint channel_point = 1;\n * @return {?proto.lnrpc.ChannelPoint}\n */\nproto.lnrpc.CloseChannelRequest.prototype.getChannelPoint = function() {\n return /** @type{?proto.lnrpc.ChannelPoint} */ (\n jspb.Message.getWrapperField(this, proto.lnrpc.ChannelPoint, 1));\n};\n\n\n/** @param {?proto.lnrpc.ChannelPoint|undefined} value */\nproto.lnrpc.CloseChannelRequest.prototype.setChannelPoint = function(value) {\n jspb.Message.setWrapperField(this, 1, value);\n};\n\n\nproto.lnrpc.CloseChannelRequest.prototype.clearChannelPoint = function() {\n this.setChannelPoint(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {!boolean}\n */\nproto.lnrpc.CloseChannelRequest.prototype.hasChannelPoint = function() {\n return jspb.Message.getField(this, 1) != null;\n};\n\n\n/**\n * optional bool force = 2;\n * Note that Boolean fields may be set to 0/1 when serialized from a Java server.\n * You should avoid comparisons like {@code val === true/false} in those cases.\n * @return {boolean}\n */\nproto.lnrpc.CloseChannelRequest.prototype.getForce = function() {\n return /** @type {boolean} */ (jspb.Message.getFieldWithDefault(this, 2, false));\n};\n\n\n/** @param {boolean} value */\nproto.lnrpc.CloseChannelRequest.prototype.setForce = function(value) {\n jspb.Message.setField(this, 2, value);\n};\n\n\n/**\n * optional int32 target_conf = 3;\n * @return {number}\n */\nproto.lnrpc.CloseChannelRequest.prototype.getTargetConf = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.CloseChannelRequest.prototype.setTargetConf = function(value) {\n jspb.Message.setField(this, 3, value);\n};\n\n\n/**\n * optional int64 sat_per_byte = 4;\n * @return {number}\n */\nproto.lnrpc.CloseChannelRequest.prototype.getSatPerByte = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.CloseChannelRequest.prototype.setSatPerByte = function(value) {\n jspb.Message.setField(this, 4, value);\n};\n\n\n/**\n * optional string delivery_address = 5;\n * @return {string}\n */\nproto.lnrpc.CloseChannelRequest.prototype.getDeliveryAddress = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, \"\"));\n};\n\n\n/** @param {string} value */\nproto.lnrpc.CloseChannelRequest.prototype.setDeliveryAddress = function(value) {\n jspb.Message.setField(this, 5, value);\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.lnrpc.CloseStatusUpdate = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, proto.lnrpc.CloseStatusUpdate.oneofGroups_);\n};\ngoog.inherits(proto.lnrpc.CloseStatusUpdate, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.lnrpc.CloseStatusUpdate.displayName = 'proto.lnrpc.CloseStatusUpdate';\n}\n/**\n * Oneof group definitions for this message. Each group defines the field\n * numbers belonging to that group. When of these fields' value is set, all\n * other fields in the group are cleared. During deserialization, if multiple\n * fields are encountered for a group, only the last value seen will be kept.\n * @private {!Array>}\n * @const\n */\nproto.lnrpc.CloseStatusUpdate.oneofGroups_ = [[1,3]];\n\n/**\n * @enum {number}\n */\nproto.lnrpc.CloseStatusUpdate.UpdateCase = {\n UPDATE_NOT_SET: 0,\n CLOSE_PENDING: 1,\n CHAN_CLOSE: 3\n};\n\n/**\n * @return {proto.lnrpc.CloseStatusUpdate.UpdateCase}\n */\nproto.lnrpc.CloseStatusUpdate.prototype.getUpdateCase = function() {\n return /** @type {proto.lnrpc.CloseStatusUpdate.UpdateCase} */(jspb.Message.computeOneofCase(this, proto.lnrpc.CloseStatusUpdate.oneofGroups_[0]));\n};\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.lnrpc.CloseStatusUpdate.prototype.toObject = function(opt_includeInstance) {\n return proto.lnrpc.CloseStatusUpdate.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.lnrpc.CloseStatusUpdate} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.CloseStatusUpdate.toObject = function(includeInstance, msg) {\n var f, obj = {\n closePending: (f = msg.getClosePending()) && proto.lnrpc.PendingUpdate.toObject(includeInstance, f),\n chanClose: (f = msg.getChanClose()) && proto.lnrpc.ChannelCloseUpdate.toObject(includeInstance, f)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.lnrpc.CloseStatusUpdate}\n */\nproto.lnrpc.CloseStatusUpdate.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.lnrpc.CloseStatusUpdate;\n return proto.lnrpc.CloseStatusUpdate.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.lnrpc.CloseStatusUpdate} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.lnrpc.CloseStatusUpdate}\n */\nproto.lnrpc.CloseStatusUpdate.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = new proto.lnrpc.PendingUpdate;\n reader.readMessage(value,proto.lnrpc.PendingUpdate.deserializeBinaryFromReader);\n msg.setClosePending(value);\n break;\n case 3:\n var value = new proto.lnrpc.ChannelCloseUpdate;\n reader.readMessage(value,proto.lnrpc.ChannelCloseUpdate.deserializeBinaryFromReader);\n msg.setChanClose(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.lnrpc.CloseStatusUpdate.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.lnrpc.CloseStatusUpdate.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.lnrpc.CloseStatusUpdate} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.CloseStatusUpdate.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getClosePending();\n if (f != null) {\n writer.writeMessage(\n 1,\n f,\n proto.lnrpc.PendingUpdate.serializeBinaryToWriter\n );\n }\n f = message.getChanClose();\n if (f != null) {\n writer.writeMessage(\n 3,\n f,\n proto.lnrpc.ChannelCloseUpdate.serializeBinaryToWriter\n );\n }\n};\n\n\n/**\n * optional PendingUpdate close_pending = 1;\n * @return {?proto.lnrpc.PendingUpdate}\n */\nproto.lnrpc.CloseStatusUpdate.prototype.getClosePending = function() {\n return /** @type{?proto.lnrpc.PendingUpdate} */ (\n jspb.Message.getWrapperField(this, proto.lnrpc.PendingUpdate, 1));\n};\n\n\n/** @param {?proto.lnrpc.PendingUpdate|undefined} value */\nproto.lnrpc.CloseStatusUpdate.prototype.setClosePending = function(value) {\n jspb.Message.setOneofWrapperField(this, 1, proto.lnrpc.CloseStatusUpdate.oneofGroups_[0], value);\n};\n\n\nproto.lnrpc.CloseStatusUpdate.prototype.clearClosePending = function() {\n this.setClosePending(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {!boolean}\n */\nproto.lnrpc.CloseStatusUpdate.prototype.hasClosePending = function() {\n return jspb.Message.getField(this, 1) != null;\n};\n\n\n/**\n * optional ChannelCloseUpdate chan_close = 3;\n * @return {?proto.lnrpc.ChannelCloseUpdate}\n */\nproto.lnrpc.CloseStatusUpdate.prototype.getChanClose = function() {\n return /** @type{?proto.lnrpc.ChannelCloseUpdate} */ (\n jspb.Message.getWrapperField(this, proto.lnrpc.ChannelCloseUpdate, 3));\n};\n\n\n/** @param {?proto.lnrpc.ChannelCloseUpdate|undefined} value */\nproto.lnrpc.CloseStatusUpdate.prototype.setChanClose = function(value) {\n jspb.Message.setOneofWrapperField(this, 3, proto.lnrpc.CloseStatusUpdate.oneofGroups_[0], value);\n};\n\n\nproto.lnrpc.CloseStatusUpdate.prototype.clearChanClose = function() {\n this.setChanClose(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {!boolean}\n */\nproto.lnrpc.CloseStatusUpdate.prototype.hasChanClose = function() {\n return jspb.Message.getField(this, 3) != null;\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.lnrpc.PendingUpdate = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.lnrpc.PendingUpdate, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.lnrpc.PendingUpdate.displayName = 'proto.lnrpc.PendingUpdate';\n}\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.lnrpc.PendingUpdate.prototype.toObject = function(opt_includeInstance) {\n return proto.lnrpc.PendingUpdate.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.lnrpc.PendingUpdate} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.PendingUpdate.toObject = function(includeInstance, msg) {\n var f, obj = {\n txid: msg.getTxid_asB64(),\n outputIndex: jspb.Message.getFieldWithDefault(msg, 2, 0)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.lnrpc.PendingUpdate}\n */\nproto.lnrpc.PendingUpdate.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.lnrpc.PendingUpdate;\n return proto.lnrpc.PendingUpdate.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.lnrpc.PendingUpdate} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.lnrpc.PendingUpdate}\n */\nproto.lnrpc.PendingUpdate.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {!Uint8Array} */ (reader.readBytes());\n msg.setTxid(value);\n break;\n case 2:\n var value = /** @type {number} */ (reader.readUint32());\n msg.setOutputIndex(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.lnrpc.PendingUpdate.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.lnrpc.PendingUpdate.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.lnrpc.PendingUpdate} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.PendingUpdate.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getTxid_asU8();\n if (f.length > 0) {\n writer.writeBytes(\n 1,\n f\n );\n }\n f = message.getOutputIndex();\n if (f !== 0) {\n writer.writeUint32(\n 2,\n f\n );\n }\n};\n\n\n/**\n * optional bytes txid = 1;\n * @return {string}\n */\nproto.lnrpc.PendingUpdate.prototype.getTxid = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * optional bytes txid = 1;\n * This is a type-conversion wrapper around `getTxid()`\n * @return {string}\n */\nproto.lnrpc.PendingUpdate.prototype.getTxid_asB64 = function() {\n return /** @type {string} */ (jspb.Message.bytesAsB64(\n this.getTxid()));\n};\n\n\n/**\n * optional bytes txid = 1;\n * Note that Uint8Array is not supported on all browsers.\n * @see http://caniuse.com/Uint8Array\n * This is a type-conversion wrapper around `getTxid()`\n * @return {!Uint8Array}\n */\nproto.lnrpc.PendingUpdate.prototype.getTxid_asU8 = function() {\n return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(\n this.getTxid()));\n};\n\n\n/** @param {!(string|Uint8Array)} value */\nproto.lnrpc.PendingUpdate.prototype.setTxid = function(value) {\n jspb.Message.setField(this, 1, value);\n};\n\n\n/**\n * optional uint32 output_index = 2;\n * @return {number}\n */\nproto.lnrpc.PendingUpdate.prototype.getOutputIndex = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.PendingUpdate.prototype.setOutputIndex = function(value) {\n jspb.Message.setField(this, 2, value);\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.lnrpc.ReadyForPsbtFunding = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.lnrpc.ReadyForPsbtFunding, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.lnrpc.ReadyForPsbtFunding.displayName = 'proto.lnrpc.ReadyForPsbtFunding';\n}\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.lnrpc.ReadyForPsbtFunding.prototype.toObject = function(opt_includeInstance) {\n return proto.lnrpc.ReadyForPsbtFunding.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.lnrpc.ReadyForPsbtFunding} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.ReadyForPsbtFunding.toObject = function(includeInstance, msg) {\n var f, obj = {\n fundingAddress: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n fundingAmount: jspb.Message.getFieldWithDefault(msg, 2, 0),\n psbt: msg.getPsbt_asB64()\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.lnrpc.ReadyForPsbtFunding}\n */\nproto.lnrpc.ReadyForPsbtFunding.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.lnrpc.ReadyForPsbtFunding;\n return proto.lnrpc.ReadyForPsbtFunding.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.lnrpc.ReadyForPsbtFunding} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.lnrpc.ReadyForPsbtFunding}\n */\nproto.lnrpc.ReadyForPsbtFunding.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setFundingAddress(value);\n break;\n case 2:\n var value = /** @type {number} */ (reader.readInt64());\n msg.setFundingAmount(value);\n break;\n case 3:\n var value = /** @type {!Uint8Array} */ (reader.readBytes());\n msg.setPsbt(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.lnrpc.ReadyForPsbtFunding.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.lnrpc.ReadyForPsbtFunding.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.lnrpc.ReadyForPsbtFunding} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.ReadyForPsbtFunding.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getFundingAddress();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n f = message.getFundingAmount();\n if (f !== 0) {\n writer.writeInt64(\n 2,\n f\n );\n }\n f = message.getPsbt_asU8();\n if (f.length > 0) {\n writer.writeBytes(\n 3,\n f\n );\n }\n};\n\n\n/**\n * optional string funding_address = 1;\n * @return {string}\n */\nproto.lnrpc.ReadyForPsbtFunding.prototype.getFundingAddress = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/** @param {string} value */\nproto.lnrpc.ReadyForPsbtFunding.prototype.setFundingAddress = function(value) {\n jspb.Message.setField(this, 1, value);\n};\n\n\n/**\n * optional int64 funding_amount = 2;\n * @return {number}\n */\nproto.lnrpc.ReadyForPsbtFunding.prototype.getFundingAmount = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.ReadyForPsbtFunding.prototype.setFundingAmount = function(value) {\n jspb.Message.setField(this, 2, value);\n};\n\n\n/**\n * optional bytes psbt = 3;\n * @return {string}\n */\nproto.lnrpc.ReadyForPsbtFunding.prototype.getPsbt = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * optional bytes psbt = 3;\n * This is a type-conversion wrapper around `getPsbt()`\n * @return {string}\n */\nproto.lnrpc.ReadyForPsbtFunding.prototype.getPsbt_asB64 = function() {\n return /** @type {string} */ (jspb.Message.bytesAsB64(\n this.getPsbt()));\n};\n\n\n/**\n * optional bytes psbt = 3;\n * Note that Uint8Array is not supported on all browsers.\n * @see http://caniuse.com/Uint8Array\n * This is a type-conversion wrapper around `getPsbt()`\n * @return {!Uint8Array}\n */\nproto.lnrpc.ReadyForPsbtFunding.prototype.getPsbt_asU8 = function() {\n return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(\n this.getPsbt()));\n};\n\n\n/** @param {!(string|Uint8Array)} value */\nproto.lnrpc.ReadyForPsbtFunding.prototype.setPsbt = function(value) {\n jspb.Message.setField(this, 3, value);\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.lnrpc.OpenChannelRequest = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.lnrpc.OpenChannelRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.lnrpc.OpenChannelRequest.displayName = 'proto.lnrpc.OpenChannelRequest';\n}\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.lnrpc.OpenChannelRequest.prototype.toObject = function(opt_includeInstance) {\n return proto.lnrpc.OpenChannelRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.lnrpc.OpenChannelRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.OpenChannelRequest.toObject = function(includeInstance, msg) {\n var f, obj = {\n nodePubkey: msg.getNodePubkey_asB64(),\n nodePubkeyString: jspb.Message.getFieldWithDefault(msg, 3, \"\"),\n localFundingAmount: jspb.Message.getFieldWithDefault(msg, 4, 0),\n pushSat: jspb.Message.getFieldWithDefault(msg, 5, 0),\n targetConf: jspb.Message.getFieldWithDefault(msg, 6, 0),\n satPerByte: jspb.Message.getFieldWithDefault(msg, 7, 0),\n pb_private: jspb.Message.getFieldWithDefault(msg, 8, false),\n minHtlcMsat: jspb.Message.getFieldWithDefault(msg, 9, 0),\n remoteCsvDelay: jspb.Message.getFieldWithDefault(msg, 10, 0),\n minConfs: jspb.Message.getFieldWithDefault(msg, 11, 0),\n spendUnconfirmed: jspb.Message.getFieldWithDefault(msg, 12, false),\n closeAddress: jspb.Message.getFieldWithDefault(msg, 13, \"\"),\n fundingShim: (f = msg.getFundingShim()) && proto.lnrpc.FundingShim.toObject(includeInstance, f),\n remoteMaxValueInFlightMsat: jspb.Message.getFieldWithDefault(msg, 15, 0)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.lnrpc.OpenChannelRequest}\n */\nproto.lnrpc.OpenChannelRequest.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.lnrpc.OpenChannelRequest;\n return proto.lnrpc.OpenChannelRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.lnrpc.OpenChannelRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.lnrpc.OpenChannelRequest}\n */\nproto.lnrpc.OpenChannelRequest.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 2:\n var value = /** @type {!Uint8Array} */ (reader.readBytes());\n msg.setNodePubkey(value);\n break;\n case 3:\n var value = /** @type {string} */ (reader.readString());\n msg.setNodePubkeyString(value);\n break;\n case 4:\n var value = /** @type {number} */ (reader.readInt64());\n msg.setLocalFundingAmount(value);\n break;\n case 5:\n var value = /** @type {number} */ (reader.readInt64());\n msg.setPushSat(value);\n break;\n case 6:\n var value = /** @type {number} */ (reader.readInt32());\n msg.setTargetConf(value);\n break;\n case 7:\n var value = /** @type {number} */ (reader.readInt64());\n msg.setSatPerByte(value);\n break;\n case 8:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setPrivate(value);\n break;\n case 9:\n var value = /** @type {number} */ (reader.readInt64());\n msg.setMinHtlcMsat(value);\n break;\n case 10:\n var value = /** @type {number} */ (reader.readUint32());\n msg.setRemoteCsvDelay(value);\n break;\n case 11:\n var value = /** @type {number} */ (reader.readInt32());\n msg.setMinConfs(value);\n break;\n case 12:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setSpendUnconfirmed(value);\n break;\n case 13:\n var value = /** @type {string} */ (reader.readString());\n msg.setCloseAddress(value);\n break;\n case 14:\n var value = new proto.lnrpc.FundingShim;\n reader.readMessage(value,proto.lnrpc.FundingShim.deserializeBinaryFromReader);\n msg.setFundingShim(value);\n break;\n case 15:\n var value = /** @type {number} */ (reader.readUint64());\n msg.setRemoteMaxValueInFlightMsat(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.lnrpc.OpenChannelRequest.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.lnrpc.OpenChannelRequest.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.lnrpc.OpenChannelRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.OpenChannelRequest.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getNodePubkey_asU8();\n if (f.length > 0) {\n writer.writeBytes(\n 2,\n f\n );\n }\n f = message.getNodePubkeyString();\n if (f.length > 0) {\n writer.writeString(\n 3,\n f\n );\n }\n f = message.getLocalFundingAmount();\n if (f !== 0) {\n writer.writeInt64(\n 4,\n f\n );\n }\n f = message.getPushSat();\n if (f !== 0) {\n writer.writeInt64(\n 5,\n f\n );\n }\n f = message.getTargetConf();\n if (f !== 0) {\n writer.writeInt32(\n 6,\n f\n );\n }\n f = message.getSatPerByte();\n if (f !== 0) {\n writer.writeInt64(\n 7,\n f\n );\n }\n f = message.getPrivate();\n if (f) {\n writer.writeBool(\n 8,\n f\n );\n }\n f = message.getMinHtlcMsat();\n if (f !== 0) {\n writer.writeInt64(\n 9,\n f\n );\n }\n f = message.getRemoteCsvDelay();\n if (f !== 0) {\n writer.writeUint32(\n 10,\n f\n );\n }\n f = message.getMinConfs();\n if (f !== 0) {\n writer.writeInt32(\n 11,\n f\n );\n }\n f = message.getSpendUnconfirmed();\n if (f) {\n writer.writeBool(\n 12,\n f\n );\n }\n f = message.getCloseAddress();\n if (f.length > 0) {\n writer.writeString(\n 13,\n f\n );\n }\n f = message.getFundingShim();\n if (f != null) {\n writer.writeMessage(\n 14,\n f,\n proto.lnrpc.FundingShim.serializeBinaryToWriter\n );\n }\n f = message.getRemoteMaxValueInFlightMsat();\n if (f !== 0) {\n writer.writeUint64(\n 15,\n f\n );\n }\n};\n\n\n/**\n * optional bytes node_pubkey = 2;\n * @return {string}\n */\nproto.lnrpc.OpenChannelRequest.prototype.getNodePubkey = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * optional bytes node_pubkey = 2;\n * This is a type-conversion wrapper around `getNodePubkey()`\n * @return {string}\n */\nproto.lnrpc.OpenChannelRequest.prototype.getNodePubkey_asB64 = function() {\n return /** @type {string} */ (jspb.Message.bytesAsB64(\n this.getNodePubkey()));\n};\n\n\n/**\n * optional bytes node_pubkey = 2;\n * Note that Uint8Array is not supported on all browsers.\n * @see http://caniuse.com/Uint8Array\n * This is a type-conversion wrapper around `getNodePubkey()`\n * @return {!Uint8Array}\n */\nproto.lnrpc.OpenChannelRequest.prototype.getNodePubkey_asU8 = function() {\n return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(\n this.getNodePubkey()));\n};\n\n\n/** @param {!(string|Uint8Array)} value */\nproto.lnrpc.OpenChannelRequest.prototype.setNodePubkey = function(value) {\n jspb.Message.setField(this, 2, value);\n};\n\n\n/**\n * optional string node_pubkey_string = 3;\n * @return {string}\n */\nproto.lnrpc.OpenChannelRequest.prototype.getNodePubkeyString = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/** @param {string} value */\nproto.lnrpc.OpenChannelRequest.prototype.setNodePubkeyString = function(value) {\n jspb.Message.setField(this, 3, value);\n};\n\n\n/**\n * optional int64 local_funding_amount = 4;\n * @return {number}\n */\nproto.lnrpc.OpenChannelRequest.prototype.getLocalFundingAmount = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.OpenChannelRequest.prototype.setLocalFundingAmount = function(value) {\n jspb.Message.setField(this, 4, value);\n};\n\n\n/**\n * optional int64 push_sat = 5;\n * @return {number}\n */\nproto.lnrpc.OpenChannelRequest.prototype.getPushSat = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 5, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.OpenChannelRequest.prototype.setPushSat = function(value) {\n jspb.Message.setField(this, 5, value);\n};\n\n\n/**\n * optional int32 target_conf = 6;\n * @return {number}\n */\nproto.lnrpc.OpenChannelRequest.prototype.getTargetConf = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 6, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.OpenChannelRequest.prototype.setTargetConf = function(value) {\n jspb.Message.setField(this, 6, value);\n};\n\n\n/**\n * optional int64 sat_per_byte = 7;\n * @return {number}\n */\nproto.lnrpc.OpenChannelRequest.prototype.getSatPerByte = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 7, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.OpenChannelRequest.prototype.setSatPerByte = function(value) {\n jspb.Message.setField(this, 7, value);\n};\n\n\n/**\n * optional bool private = 8;\n * Note that Boolean fields may be set to 0/1 when serialized from a Java server.\n * You should avoid comparisons like {@code val === true/false} in those cases.\n * @return {boolean}\n */\nproto.lnrpc.OpenChannelRequest.prototype.getPrivate = function() {\n return /** @type {boolean} */ (jspb.Message.getFieldWithDefault(this, 8, false));\n};\n\n\n/** @param {boolean} value */\nproto.lnrpc.OpenChannelRequest.prototype.setPrivate = function(value) {\n jspb.Message.setField(this, 8, value);\n};\n\n\n/**\n * optional int64 min_htlc_msat = 9;\n * @return {number}\n */\nproto.lnrpc.OpenChannelRequest.prototype.getMinHtlcMsat = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 9, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.OpenChannelRequest.prototype.setMinHtlcMsat = function(value) {\n jspb.Message.setField(this, 9, value);\n};\n\n\n/**\n * optional uint32 remote_csv_delay = 10;\n * @return {number}\n */\nproto.lnrpc.OpenChannelRequest.prototype.getRemoteCsvDelay = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 10, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.OpenChannelRequest.prototype.setRemoteCsvDelay = function(value) {\n jspb.Message.setField(this, 10, value);\n};\n\n\n/**\n * optional int32 min_confs = 11;\n * @return {number}\n */\nproto.lnrpc.OpenChannelRequest.prototype.getMinConfs = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 11, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.OpenChannelRequest.prototype.setMinConfs = function(value) {\n jspb.Message.setField(this, 11, value);\n};\n\n\n/**\n * optional bool spend_unconfirmed = 12;\n * Note that Boolean fields may be set to 0/1 when serialized from a Java server.\n * You should avoid comparisons like {@code val === true/false} in those cases.\n * @return {boolean}\n */\nproto.lnrpc.OpenChannelRequest.prototype.getSpendUnconfirmed = function() {\n return /** @type {boolean} */ (jspb.Message.getFieldWithDefault(this, 12, false));\n};\n\n\n/** @param {boolean} value */\nproto.lnrpc.OpenChannelRequest.prototype.setSpendUnconfirmed = function(value) {\n jspb.Message.setField(this, 12, value);\n};\n\n\n/**\n * optional string close_address = 13;\n * @return {string}\n */\nproto.lnrpc.OpenChannelRequest.prototype.getCloseAddress = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 13, \"\"));\n};\n\n\n/** @param {string} value */\nproto.lnrpc.OpenChannelRequest.prototype.setCloseAddress = function(value) {\n jspb.Message.setField(this, 13, value);\n};\n\n\n/**\n * optional FundingShim funding_shim = 14;\n * @return {?proto.lnrpc.FundingShim}\n */\nproto.lnrpc.OpenChannelRequest.prototype.getFundingShim = function() {\n return /** @type{?proto.lnrpc.FundingShim} */ (\n jspb.Message.getWrapperField(this, proto.lnrpc.FundingShim, 14));\n};\n\n\n/** @param {?proto.lnrpc.FundingShim|undefined} value */\nproto.lnrpc.OpenChannelRequest.prototype.setFundingShim = function(value) {\n jspb.Message.setWrapperField(this, 14, value);\n};\n\n\nproto.lnrpc.OpenChannelRequest.prototype.clearFundingShim = function() {\n this.setFundingShim(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {!boolean}\n */\nproto.lnrpc.OpenChannelRequest.prototype.hasFundingShim = function() {\n return jspb.Message.getField(this, 14) != null;\n};\n\n\n/**\n * optional uint64 remote_max_value_in_flight_msat = 15;\n * @return {number}\n */\nproto.lnrpc.OpenChannelRequest.prototype.getRemoteMaxValueInFlightMsat = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 15, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.OpenChannelRequest.prototype.setRemoteMaxValueInFlightMsat = function(value) {\n jspb.Message.setField(this, 15, value);\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.lnrpc.OpenStatusUpdate = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, proto.lnrpc.OpenStatusUpdate.oneofGroups_);\n};\ngoog.inherits(proto.lnrpc.OpenStatusUpdate, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.lnrpc.OpenStatusUpdate.displayName = 'proto.lnrpc.OpenStatusUpdate';\n}\n/**\n * Oneof group definitions for this message. Each group defines the field\n * numbers belonging to that group. When of these fields' value is set, all\n * other fields in the group are cleared. During deserialization, if multiple\n * fields are encountered for a group, only the last value seen will be kept.\n * @private {!Array>}\n * @const\n */\nproto.lnrpc.OpenStatusUpdate.oneofGroups_ = [[1,3,5]];\n\n/**\n * @enum {number}\n */\nproto.lnrpc.OpenStatusUpdate.UpdateCase = {\n UPDATE_NOT_SET: 0,\n CHAN_PENDING: 1,\n CHAN_OPEN: 3,\n PSBT_FUND: 5\n};\n\n/**\n * @return {proto.lnrpc.OpenStatusUpdate.UpdateCase}\n */\nproto.lnrpc.OpenStatusUpdate.prototype.getUpdateCase = function() {\n return /** @type {proto.lnrpc.OpenStatusUpdate.UpdateCase} */(jspb.Message.computeOneofCase(this, proto.lnrpc.OpenStatusUpdate.oneofGroups_[0]));\n};\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.lnrpc.OpenStatusUpdate.prototype.toObject = function(opt_includeInstance) {\n return proto.lnrpc.OpenStatusUpdate.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.lnrpc.OpenStatusUpdate} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.OpenStatusUpdate.toObject = function(includeInstance, msg) {\n var f, obj = {\n chanPending: (f = msg.getChanPending()) && proto.lnrpc.PendingUpdate.toObject(includeInstance, f),\n chanOpen: (f = msg.getChanOpen()) && proto.lnrpc.ChannelOpenUpdate.toObject(includeInstance, f),\n psbtFund: (f = msg.getPsbtFund()) && proto.lnrpc.ReadyForPsbtFunding.toObject(includeInstance, f),\n pendingChanId: msg.getPendingChanId_asB64()\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.lnrpc.OpenStatusUpdate}\n */\nproto.lnrpc.OpenStatusUpdate.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.lnrpc.OpenStatusUpdate;\n return proto.lnrpc.OpenStatusUpdate.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.lnrpc.OpenStatusUpdate} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.lnrpc.OpenStatusUpdate}\n */\nproto.lnrpc.OpenStatusUpdate.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = new proto.lnrpc.PendingUpdate;\n reader.readMessage(value,proto.lnrpc.PendingUpdate.deserializeBinaryFromReader);\n msg.setChanPending(value);\n break;\n case 3:\n var value = new proto.lnrpc.ChannelOpenUpdate;\n reader.readMessage(value,proto.lnrpc.ChannelOpenUpdate.deserializeBinaryFromReader);\n msg.setChanOpen(value);\n break;\n case 5:\n var value = new proto.lnrpc.ReadyForPsbtFunding;\n reader.readMessage(value,proto.lnrpc.ReadyForPsbtFunding.deserializeBinaryFromReader);\n msg.setPsbtFund(value);\n break;\n case 4:\n var value = /** @type {!Uint8Array} */ (reader.readBytes());\n msg.setPendingChanId(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.lnrpc.OpenStatusUpdate.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.lnrpc.OpenStatusUpdate.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.lnrpc.OpenStatusUpdate} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.OpenStatusUpdate.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getChanPending();\n if (f != null) {\n writer.writeMessage(\n 1,\n f,\n proto.lnrpc.PendingUpdate.serializeBinaryToWriter\n );\n }\n f = message.getChanOpen();\n if (f != null) {\n writer.writeMessage(\n 3,\n f,\n proto.lnrpc.ChannelOpenUpdate.serializeBinaryToWriter\n );\n }\n f = message.getPsbtFund();\n if (f != null) {\n writer.writeMessage(\n 5,\n f,\n proto.lnrpc.ReadyForPsbtFunding.serializeBinaryToWriter\n );\n }\n f = message.getPendingChanId_asU8();\n if (f.length > 0) {\n writer.writeBytes(\n 4,\n f\n );\n }\n};\n\n\n/**\n * optional PendingUpdate chan_pending = 1;\n * @return {?proto.lnrpc.PendingUpdate}\n */\nproto.lnrpc.OpenStatusUpdate.prototype.getChanPending = function() {\n return /** @type{?proto.lnrpc.PendingUpdate} */ (\n jspb.Message.getWrapperField(this, proto.lnrpc.PendingUpdate, 1));\n};\n\n\n/** @param {?proto.lnrpc.PendingUpdate|undefined} value */\nproto.lnrpc.OpenStatusUpdate.prototype.setChanPending = function(value) {\n jspb.Message.setOneofWrapperField(this, 1, proto.lnrpc.OpenStatusUpdate.oneofGroups_[0], value);\n};\n\n\nproto.lnrpc.OpenStatusUpdate.prototype.clearChanPending = function() {\n this.setChanPending(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {!boolean}\n */\nproto.lnrpc.OpenStatusUpdate.prototype.hasChanPending = function() {\n return jspb.Message.getField(this, 1) != null;\n};\n\n\n/**\n * optional ChannelOpenUpdate chan_open = 3;\n * @return {?proto.lnrpc.ChannelOpenUpdate}\n */\nproto.lnrpc.OpenStatusUpdate.prototype.getChanOpen = function() {\n return /** @type{?proto.lnrpc.ChannelOpenUpdate} */ (\n jspb.Message.getWrapperField(this, proto.lnrpc.ChannelOpenUpdate, 3));\n};\n\n\n/** @param {?proto.lnrpc.ChannelOpenUpdate|undefined} value */\nproto.lnrpc.OpenStatusUpdate.prototype.setChanOpen = function(value) {\n jspb.Message.setOneofWrapperField(this, 3, proto.lnrpc.OpenStatusUpdate.oneofGroups_[0], value);\n};\n\n\nproto.lnrpc.OpenStatusUpdate.prototype.clearChanOpen = function() {\n this.setChanOpen(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {!boolean}\n */\nproto.lnrpc.OpenStatusUpdate.prototype.hasChanOpen = function() {\n return jspb.Message.getField(this, 3) != null;\n};\n\n\n/**\n * optional ReadyForPsbtFunding psbt_fund = 5;\n * @return {?proto.lnrpc.ReadyForPsbtFunding}\n */\nproto.lnrpc.OpenStatusUpdate.prototype.getPsbtFund = function() {\n return /** @type{?proto.lnrpc.ReadyForPsbtFunding} */ (\n jspb.Message.getWrapperField(this, proto.lnrpc.ReadyForPsbtFunding, 5));\n};\n\n\n/** @param {?proto.lnrpc.ReadyForPsbtFunding|undefined} value */\nproto.lnrpc.OpenStatusUpdate.prototype.setPsbtFund = function(value) {\n jspb.Message.setOneofWrapperField(this, 5, proto.lnrpc.OpenStatusUpdate.oneofGroups_[0], value);\n};\n\n\nproto.lnrpc.OpenStatusUpdate.prototype.clearPsbtFund = function() {\n this.setPsbtFund(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {!boolean}\n */\nproto.lnrpc.OpenStatusUpdate.prototype.hasPsbtFund = function() {\n return jspb.Message.getField(this, 5) != null;\n};\n\n\n/**\n * optional bytes pending_chan_id = 4;\n * @return {string}\n */\nproto.lnrpc.OpenStatusUpdate.prototype.getPendingChanId = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"\"));\n};\n\n\n/**\n * optional bytes pending_chan_id = 4;\n * This is a type-conversion wrapper around `getPendingChanId()`\n * @return {string}\n */\nproto.lnrpc.OpenStatusUpdate.prototype.getPendingChanId_asB64 = function() {\n return /** @type {string} */ (jspb.Message.bytesAsB64(\n this.getPendingChanId()));\n};\n\n\n/**\n * optional bytes pending_chan_id = 4;\n * Note that Uint8Array is not supported on all browsers.\n * @see http://caniuse.com/Uint8Array\n * This is a type-conversion wrapper around `getPendingChanId()`\n * @return {!Uint8Array}\n */\nproto.lnrpc.OpenStatusUpdate.prototype.getPendingChanId_asU8 = function() {\n return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(\n this.getPendingChanId()));\n};\n\n\n/** @param {!(string|Uint8Array)} value */\nproto.lnrpc.OpenStatusUpdate.prototype.setPendingChanId = function(value) {\n jspb.Message.setField(this, 4, value);\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.lnrpc.KeyLocator = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.lnrpc.KeyLocator, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.lnrpc.KeyLocator.displayName = 'proto.lnrpc.KeyLocator';\n}\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.lnrpc.KeyLocator.prototype.toObject = function(opt_includeInstance) {\n return proto.lnrpc.KeyLocator.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.lnrpc.KeyLocator} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.KeyLocator.toObject = function(includeInstance, msg) {\n var f, obj = {\n keyFamily: jspb.Message.getFieldWithDefault(msg, 1, 0),\n keyIndex: jspb.Message.getFieldWithDefault(msg, 2, 0)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.lnrpc.KeyLocator}\n */\nproto.lnrpc.KeyLocator.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.lnrpc.KeyLocator;\n return proto.lnrpc.KeyLocator.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.lnrpc.KeyLocator} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.lnrpc.KeyLocator}\n */\nproto.lnrpc.KeyLocator.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {number} */ (reader.readInt32());\n msg.setKeyFamily(value);\n break;\n case 2:\n var value = /** @type {number} */ (reader.readInt32());\n msg.setKeyIndex(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.lnrpc.KeyLocator.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.lnrpc.KeyLocator.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.lnrpc.KeyLocator} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.KeyLocator.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getKeyFamily();\n if (f !== 0) {\n writer.writeInt32(\n 1,\n f\n );\n }\n f = message.getKeyIndex();\n if (f !== 0) {\n writer.writeInt32(\n 2,\n f\n );\n }\n};\n\n\n/**\n * optional int32 key_family = 1;\n * @return {number}\n */\nproto.lnrpc.KeyLocator.prototype.getKeyFamily = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.KeyLocator.prototype.setKeyFamily = function(value) {\n jspb.Message.setField(this, 1, value);\n};\n\n\n/**\n * optional int32 key_index = 2;\n * @return {number}\n */\nproto.lnrpc.KeyLocator.prototype.getKeyIndex = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.KeyLocator.prototype.setKeyIndex = function(value) {\n jspb.Message.setField(this, 2, value);\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.lnrpc.KeyDescriptor = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.lnrpc.KeyDescriptor, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.lnrpc.KeyDescriptor.displayName = 'proto.lnrpc.KeyDescriptor';\n}\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.lnrpc.KeyDescriptor.prototype.toObject = function(opt_includeInstance) {\n return proto.lnrpc.KeyDescriptor.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.lnrpc.KeyDescriptor} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.KeyDescriptor.toObject = function(includeInstance, msg) {\n var f, obj = {\n rawKeyBytes: msg.getRawKeyBytes_asB64(),\n keyLoc: (f = msg.getKeyLoc()) && proto.lnrpc.KeyLocator.toObject(includeInstance, f)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.lnrpc.KeyDescriptor}\n */\nproto.lnrpc.KeyDescriptor.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.lnrpc.KeyDescriptor;\n return proto.lnrpc.KeyDescriptor.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.lnrpc.KeyDescriptor} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.lnrpc.KeyDescriptor}\n */\nproto.lnrpc.KeyDescriptor.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {!Uint8Array} */ (reader.readBytes());\n msg.setRawKeyBytes(value);\n break;\n case 2:\n var value = new proto.lnrpc.KeyLocator;\n reader.readMessage(value,proto.lnrpc.KeyLocator.deserializeBinaryFromReader);\n msg.setKeyLoc(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.lnrpc.KeyDescriptor.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.lnrpc.KeyDescriptor.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.lnrpc.KeyDescriptor} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.KeyDescriptor.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getRawKeyBytes_asU8();\n if (f.length > 0) {\n writer.writeBytes(\n 1,\n f\n );\n }\n f = message.getKeyLoc();\n if (f != null) {\n writer.writeMessage(\n 2,\n f,\n proto.lnrpc.KeyLocator.serializeBinaryToWriter\n );\n }\n};\n\n\n/**\n * optional bytes raw_key_bytes = 1;\n * @return {string}\n */\nproto.lnrpc.KeyDescriptor.prototype.getRawKeyBytes = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * optional bytes raw_key_bytes = 1;\n * This is a type-conversion wrapper around `getRawKeyBytes()`\n * @return {string}\n */\nproto.lnrpc.KeyDescriptor.prototype.getRawKeyBytes_asB64 = function() {\n return /** @type {string} */ (jspb.Message.bytesAsB64(\n this.getRawKeyBytes()));\n};\n\n\n/**\n * optional bytes raw_key_bytes = 1;\n * Note that Uint8Array is not supported on all browsers.\n * @see http://caniuse.com/Uint8Array\n * This is a type-conversion wrapper around `getRawKeyBytes()`\n * @return {!Uint8Array}\n */\nproto.lnrpc.KeyDescriptor.prototype.getRawKeyBytes_asU8 = function() {\n return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(\n this.getRawKeyBytes()));\n};\n\n\n/** @param {!(string|Uint8Array)} value */\nproto.lnrpc.KeyDescriptor.prototype.setRawKeyBytes = function(value) {\n jspb.Message.setField(this, 1, value);\n};\n\n\n/**\n * optional KeyLocator key_loc = 2;\n * @return {?proto.lnrpc.KeyLocator}\n */\nproto.lnrpc.KeyDescriptor.prototype.getKeyLoc = function() {\n return /** @type{?proto.lnrpc.KeyLocator} */ (\n jspb.Message.getWrapperField(this, proto.lnrpc.KeyLocator, 2));\n};\n\n\n/** @param {?proto.lnrpc.KeyLocator|undefined} value */\nproto.lnrpc.KeyDescriptor.prototype.setKeyLoc = function(value) {\n jspb.Message.setWrapperField(this, 2, value);\n};\n\n\nproto.lnrpc.KeyDescriptor.prototype.clearKeyLoc = function() {\n this.setKeyLoc(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {!boolean}\n */\nproto.lnrpc.KeyDescriptor.prototype.hasKeyLoc = function() {\n return jspb.Message.getField(this, 2) != null;\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.lnrpc.ChanPointShim = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.lnrpc.ChanPointShim, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.lnrpc.ChanPointShim.displayName = 'proto.lnrpc.ChanPointShim';\n}\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.lnrpc.ChanPointShim.prototype.toObject = function(opt_includeInstance) {\n return proto.lnrpc.ChanPointShim.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.lnrpc.ChanPointShim} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.ChanPointShim.toObject = function(includeInstance, msg) {\n var f, obj = {\n amt: jspb.Message.getFieldWithDefault(msg, 1, 0),\n chanPoint: (f = msg.getChanPoint()) && proto.lnrpc.ChannelPoint.toObject(includeInstance, f),\n localKey: (f = msg.getLocalKey()) && proto.lnrpc.KeyDescriptor.toObject(includeInstance, f),\n remoteKey: msg.getRemoteKey_asB64(),\n pendingChanId: msg.getPendingChanId_asB64(),\n thawHeight: jspb.Message.getFieldWithDefault(msg, 6, 0)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.lnrpc.ChanPointShim}\n */\nproto.lnrpc.ChanPointShim.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.lnrpc.ChanPointShim;\n return proto.lnrpc.ChanPointShim.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.lnrpc.ChanPointShim} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.lnrpc.ChanPointShim}\n */\nproto.lnrpc.ChanPointShim.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {number} */ (reader.readInt64());\n msg.setAmt(value);\n break;\n case 2:\n var value = new proto.lnrpc.ChannelPoint;\n reader.readMessage(value,proto.lnrpc.ChannelPoint.deserializeBinaryFromReader);\n msg.setChanPoint(value);\n break;\n case 3:\n var value = new proto.lnrpc.KeyDescriptor;\n reader.readMessage(value,proto.lnrpc.KeyDescriptor.deserializeBinaryFromReader);\n msg.setLocalKey(value);\n break;\n case 4:\n var value = /** @type {!Uint8Array} */ (reader.readBytes());\n msg.setRemoteKey(value);\n break;\n case 5:\n var value = /** @type {!Uint8Array} */ (reader.readBytes());\n msg.setPendingChanId(value);\n break;\n case 6:\n var value = /** @type {number} */ (reader.readUint32());\n msg.setThawHeight(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.lnrpc.ChanPointShim.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.lnrpc.ChanPointShim.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.lnrpc.ChanPointShim} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.ChanPointShim.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getAmt();\n if (f !== 0) {\n writer.writeInt64(\n 1,\n f\n );\n }\n f = message.getChanPoint();\n if (f != null) {\n writer.writeMessage(\n 2,\n f,\n proto.lnrpc.ChannelPoint.serializeBinaryToWriter\n );\n }\n f = message.getLocalKey();\n if (f != null) {\n writer.writeMessage(\n 3,\n f,\n proto.lnrpc.KeyDescriptor.serializeBinaryToWriter\n );\n }\n f = message.getRemoteKey_asU8();\n if (f.length > 0) {\n writer.writeBytes(\n 4,\n f\n );\n }\n f = message.getPendingChanId_asU8();\n if (f.length > 0) {\n writer.writeBytes(\n 5,\n f\n );\n }\n f = message.getThawHeight();\n if (f !== 0) {\n writer.writeUint32(\n 6,\n f\n );\n }\n};\n\n\n/**\n * optional int64 amt = 1;\n * @return {number}\n */\nproto.lnrpc.ChanPointShim.prototype.getAmt = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.ChanPointShim.prototype.setAmt = function(value) {\n jspb.Message.setField(this, 1, value);\n};\n\n\n/**\n * optional ChannelPoint chan_point = 2;\n * @return {?proto.lnrpc.ChannelPoint}\n */\nproto.lnrpc.ChanPointShim.prototype.getChanPoint = function() {\n return /** @type{?proto.lnrpc.ChannelPoint} */ (\n jspb.Message.getWrapperField(this, proto.lnrpc.ChannelPoint, 2));\n};\n\n\n/** @param {?proto.lnrpc.ChannelPoint|undefined} value */\nproto.lnrpc.ChanPointShim.prototype.setChanPoint = function(value) {\n jspb.Message.setWrapperField(this, 2, value);\n};\n\n\nproto.lnrpc.ChanPointShim.prototype.clearChanPoint = function() {\n this.setChanPoint(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {!boolean}\n */\nproto.lnrpc.ChanPointShim.prototype.hasChanPoint = function() {\n return jspb.Message.getField(this, 2) != null;\n};\n\n\n/**\n * optional KeyDescriptor local_key = 3;\n * @return {?proto.lnrpc.KeyDescriptor}\n */\nproto.lnrpc.ChanPointShim.prototype.getLocalKey = function() {\n return /** @type{?proto.lnrpc.KeyDescriptor} */ (\n jspb.Message.getWrapperField(this, proto.lnrpc.KeyDescriptor, 3));\n};\n\n\n/** @param {?proto.lnrpc.KeyDescriptor|undefined} value */\nproto.lnrpc.ChanPointShim.prototype.setLocalKey = function(value) {\n jspb.Message.setWrapperField(this, 3, value);\n};\n\n\nproto.lnrpc.ChanPointShim.prototype.clearLocalKey = function() {\n this.setLocalKey(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {!boolean}\n */\nproto.lnrpc.ChanPointShim.prototype.hasLocalKey = function() {\n return jspb.Message.getField(this, 3) != null;\n};\n\n\n/**\n * optional bytes remote_key = 4;\n * @return {string}\n */\nproto.lnrpc.ChanPointShim.prototype.getRemoteKey = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"\"));\n};\n\n\n/**\n * optional bytes remote_key = 4;\n * This is a type-conversion wrapper around `getRemoteKey()`\n * @return {string}\n */\nproto.lnrpc.ChanPointShim.prototype.getRemoteKey_asB64 = function() {\n return /** @type {string} */ (jspb.Message.bytesAsB64(\n this.getRemoteKey()));\n};\n\n\n/**\n * optional bytes remote_key = 4;\n * Note that Uint8Array is not supported on all browsers.\n * @see http://caniuse.com/Uint8Array\n * This is a type-conversion wrapper around `getRemoteKey()`\n * @return {!Uint8Array}\n */\nproto.lnrpc.ChanPointShim.prototype.getRemoteKey_asU8 = function() {\n return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(\n this.getRemoteKey()));\n};\n\n\n/** @param {!(string|Uint8Array)} value */\nproto.lnrpc.ChanPointShim.prototype.setRemoteKey = function(value) {\n jspb.Message.setField(this, 4, value);\n};\n\n\n/**\n * optional bytes pending_chan_id = 5;\n * @return {string}\n */\nproto.lnrpc.ChanPointShim.prototype.getPendingChanId = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, \"\"));\n};\n\n\n/**\n * optional bytes pending_chan_id = 5;\n * This is a type-conversion wrapper around `getPendingChanId()`\n * @return {string}\n */\nproto.lnrpc.ChanPointShim.prototype.getPendingChanId_asB64 = function() {\n return /** @type {string} */ (jspb.Message.bytesAsB64(\n this.getPendingChanId()));\n};\n\n\n/**\n * optional bytes pending_chan_id = 5;\n * Note that Uint8Array is not supported on all browsers.\n * @see http://caniuse.com/Uint8Array\n * This is a type-conversion wrapper around `getPendingChanId()`\n * @return {!Uint8Array}\n */\nproto.lnrpc.ChanPointShim.prototype.getPendingChanId_asU8 = function() {\n return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(\n this.getPendingChanId()));\n};\n\n\n/** @param {!(string|Uint8Array)} value */\nproto.lnrpc.ChanPointShim.prototype.setPendingChanId = function(value) {\n jspb.Message.setField(this, 5, value);\n};\n\n\n/**\n * optional uint32 thaw_height = 6;\n * @return {number}\n */\nproto.lnrpc.ChanPointShim.prototype.getThawHeight = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 6, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.ChanPointShim.prototype.setThawHeight = function(value) {\n jspb.Message.setField(this, 6, value);\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.lnrpc.PsbtShim = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.lnrpc.PsbtShim, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.lnrpc.PsbtShim.displayName = 'proto.lnrpc.PsbtShim';\n}\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.lnrpc.PsbtShim.prototype.toObject = function(opt_includeInstance) {\n return proto.lnrpc.PsbtShim.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.lnrpc.PsbtShim} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.PsbtShim.toObject = function(includeInstance, msg) {\n var f, obj = {\n pendingChanId: msg.getPendingChanId_asB64(),\n basePsbt: msg.getBasePsbt_asB64(),\n noPublish: jspb.Message.getFieldWithDefault(msg, 3, false)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.lnrpc.PsbtShim}\n */\nproto.lnrpc.PsbtShim.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.lnrpc.PsbtShim;\n return proto.lnrpc.PsbtShim.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.lnrpc.PsbtShim} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.lnrpc.PsbtShim}\n */\nproto.lnrpc.PsbtShim.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {!Uint8Array} */ (reader.readBytes());\n msg.setPendingChanId(value);\n break;\n case 2:\n var value = /** @type {!Uint8Array} */ (reader.readBytes());\n msg.setBasePsbt(value);\n break;\n case 3:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setNoPublish(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.lnrpc.PsbtShim.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.lnrpc.PsbtShim.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.lnrpc.PsbtShim} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.PsbtShim.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getPendingChanId_asU8();\n if (f.length > 0) {\n writer.writeBytes(\n 1,\n f\n );\n }\n f = message.getBasePsbt_asU8();\n if (f.length > 0) {\n writer.writeBytes(\n 2,\n f\n );\n }\n f = message.getNoPublish();\n if (f) {\n writer.writeBool(\n 3,\n f\n );\n }\n};\n\n\n/**\n * optional bytes pending_chan_id = 1;\n * @return {string}\n */\nproto.lnrpc.PsbtShim.prototype.getPendingChanId = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * optional bytes pending_chan_id = 1;\n * This is a type-conversion wrapper around `getPendingChanId()`\n * @return {string}\n */\nproto.lnrpc.PsbtShim.prototype.getPendingChanId_asB64 = function() {\n return /** @type {string} */ (jspb.Message.bytesAsB64(\n this.getPendingChanId()));\n};\n\n\n/**\n * optional bytes pending_chan_id = 1;\n * Note that Uint8Array is not supported on all browsers.\n * @see http://caniuse.com/Uint8Array\n * This is a type-conversion wrapper around `getPendingChanId()`\n * @return {!Uint8Array}\n */\nproto.lnrpc.PsbtShim.prototype.getPendingChanId_asU8 = function() {\n return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(\n this.getPendingChanId()));\n};\n\n\n/** @param {!(string|Uint8Array)} value */\nproto.lnrpc.PsbtShim.prototype.setPendingChanId = function(value) {\n jspb.Message.setField(this, 1, value);\n};\n\n\n/**\n * optional bytes base_psbt = 2;\n * @return {string}\n */\nproto.lnrpc.PsbtShim.prototype.getBasePsbt = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * optional bytes base_psbt = 2;\n * This is a type-conversion wrapper around `getBasePsbt()`\n * @return {string}\n */\nproto.lnrpc.PsbtShim.prototype.getBasePsbt_asB64 = function() {\n return /** @type {string} */ (jspb.Message.bytesAsB64(\n this.getBasePsbt()));\n};\n\n\n/**\n * optional bytes base_psbt = 2;\n * Note that Uint8Array is not supported on all browsers.\n * @see http://caniuse.com/Uint8Array\n * This is a type-conversion wrapper around `getBasePsbt()`\n * @return {!Uint8Array}\n */\nproto.lnrpc.PsbtShim.prototype.getBasePsbt_asU8 = function() {\n return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(\n this.getBasePsbt()));\n};\n\n\n/** @param {!(string|Uint8Array)} value */\nproto.lnrpc.PsbtShim.prototype.setBasePsbt = function(value) {\n jspb.Message.setField(this, 2, value);\n};\n\n\n/**\n * optional bool no_publish = 3;\n * Note that Boolean fields may be set to 0/1 when serialized from a Java server.\n * You should avoid comparisons like {@code val === true/false} in those cases.\n * @return {boolean}\n */\nproto.lnrpc.PsbtShim.prototype.getNoPublish = function() {\n return /** @type {boolean} */ (jspb.Message.getFieldWithDefault(this, 3, false));\n};\n\n\n/** @param {boolean} value */\nproto.lnrpc.PsbtShim.prototype.setNoPublish = function(value) {\n jspb.Message.setField(this, 3, value);\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.lnrpc.FundingShim = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, proto.lnrpc.FundingShim.oneofGroups_);\n};\ngoog.inherits(proto.lnrpc.FundingShim, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.lnrpc.FundingShim.displayName = 'proto.lnrpc.FundingShim';\n}\n/**\n * Oneof group definitions for this message. Each group defines the field\n * numbers belonging to that group. When of these fields' value is set, all\n * other fields in the group are cleared. During deserialization, if multiple\n * fields are encountered for a group, only the last value seen will be kept.\n * @private {!Array>}\n * @const\n */\nproto.lnrpc.FundingShim.oneofGroups_ = [[1,2]];\n\n/**\n * @enum {number}\n */\nproto.lnrpc.FundingShim.ShimCase = {\n SHIM_NOT_SET: 0,\n CHAN_POINT_SHIM: 1,\n PSBT_SHIM: 2\n};\n\n/**\n * @return {proto.lnrpc.FundingShim.ShimCase}\n */\nproto.lnrpc.FundingShim.prototype.getShimCase = function() {\n return /** @type {proto.lnrpc.FundingShim.ShimCase} */(jspb.Message.computeOneofCase(this, proto.lnrpc.FundingShim.oneofGroups_[0]));\n};\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.lnrpc.FundingShim.prototype.toObject = function(opt_includeInstance) {\n return proto.lnrpc.FundingShim.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.lnrpc.FundingShim} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.FundingShim.toObject = function(includeInstance, msg) {\n var f, obj = {\n chanPointShim: (f = msg.getChanPointShim()) && proto.lnrpc.ChanPointShim.toObject(includeInstance, f),\n psbtShim: (f = msg.getPsbtShim()) && proto.lnrpc.PsbtShim.toObject(includeInstance, f)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.lnrpc.FundingShim}\n */\nproto.lnrpc.FundingShim.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.lnrpc.FundingShim;\n return proto.lnrpc.FundingShim.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.lnrpc.FundingShim} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.lnrpc.FundingShim}\n */\nproto.lnrpc.FundingShim.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = new proto.lnrpc.ChanPointShim;\n reader.readMessage(value,proto.lnrpc.ChanPointShim.deserializeBinaryFromReader);\n msg.setChanPointShim(value);\n break;\n case 2:\n var value = new proto.lnrpc.PsbtShim;\n reader.readMessage(value,proto.lnrpc.PsbtShim.deserializeBinaryFromReader);\n msg.setPsbtShim(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.lnrpc.FundingShim.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.lnrpc.FundingShim.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.lnrpc.FundingShim} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.FundingShim.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getChanPointShim();\n if (f != null) {\n writer.writeMessage(\n 1,\n f,\n proto.lnrpc.ChanPointShim.serializeBinaryToWriter\n );\n }\n f = message.getPsbtShim();\n if (f != null) {\n writer.writeMessage(\n 2,\n f,\n proto.lnrpc.PsbtShim.serializeBinaryToWriter\n );\n }\n};\n\n\n/**\n * optional ChanPointShim chan_point_shim = 1;\n * @return {?proto.lnrpc.ChanPointShim}\n */\nproto.lnrpc.FundingShim.prototype.getChanPointShim = function() {\n return /** @type{?proto.lnrpc.ChanPointShim} */ (\n jspb.Message.getWrapperField(this, proto.lnrpc.ChanPointShim, 1));\n};\n\n\n/** @param {?proto.lnrpc.ChanPointShim|undefined} value */\nproto.lnrpc.FundingShim.prototype.setChanPointShim = function(value) {\n jspb.Message.setOneofWrapperField(this, 1, proto.lnrpc.FundingShim.oneofGroups_[0], value);\n};\n\n\nproto.lnrpc.FundingShim.prototype.clearChanPointShim = function() {\n this.setChanPointShim(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {!boolean}\n */\nproto.lnrpc.FundingShim.prototype.hasChanPointShim = function() {\n return jspb.Message.getField(this, 1) != null;\n};\n\n\n/**\n * optional PsbtShim psbt_shim = 2;\n * @return {?proto.lnrpc.PsbtShim}\n */\nproto.lnrpc.FundingShim.prototype.getPsbtShim = function() {\n return /** @type{?proto.lnrpc.PsbtShim} */ (\n jspb.Message.getWrapperField(this, proto.lnrpc.PsbtShim, 2));\n};\n\n\n/** @param {?proto.lnrpc.PsbtShim|undefined} value */\nproto.lnrpc.FundingShim.prototype.setPsbtShim = function(value) {\n jspb.Message.setOneofWrapperField(this, 2, proto.lnrpc.FundingShim.oneofGroups_[0], value);\n};\n\n\nproto.lnrpc.FundingShim.prototype.clearPsbtShim = function() {\n this.setPsbtShim(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {!boolean}\n */\nproto.lnrpc.FundingShim.prototype.hasPsbtShim = function() {\n return jspb.Message.getField(this, 2) != null;\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.lnrpc.FundingShimCancel = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.lnrpc.FundingShimCancel, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.lnrpc.FundingShimCancel.displayName = 'proto.lnrpc.FundingShimCancel';\n}\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.lnrpc.FundingShimCancel.prototype.toObject = function(opt_includeInstance) {\n return proto.lnrpc.FundingShimCancel.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.lnrpc.FundingShimCancel} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.FundingShimCancel.toObject = function(includeInstance, msg) {\n var f, obj = {\n pendingChanId: msg.getPendingChanId_asB64()\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.lnrpc.FundingShimCancel}\n */\nproto.lnrpc.FundingShimCancel.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.lnrpc.FundingShimCancel;\n return proto.lnrpc.FundingShimCancel.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.lnrpc.FundingShimCancel} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.lnrpc.FundingShimCancel}\n */\nproto.lnrpc.FundingShimCancel.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {!Uint8Array} */ (reader.readBytes());\n msg.setPendingChanId(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.lnrpc.FundingShimCancel.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.lnrpc.FundingShimCancel.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.lnrpc.FundingShimCancel} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.FundingShimCancel.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getPendingChanId_asU8();\n if (f.length > 0) {\n writer.writeBytes(\n 1,\n f\n );\n }\n};\n\n\n/**\n * optional bytes pending_chan_id = 1;\n * @return {string}\n */\nproto.lnrpc.FundingShimCancel.prototype.getPendingChanId = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * optional bytes pending_chan_id = 1;\n * This is a type-conversion wrapper around `getPendingChanId()`\n * @return {string}\n */\nproto.lnrpc.FundingShimCancel.prototype.getPendingChanId_asB64 = function() {\n return /** @type {string} */ (jspb.Message.bytesAsB64(\n this.getPendingChanId()));\n};\n\n\n/**\n * optional bytes pending_chan_id = 1;\n * Note that Uint8Array is not supported on all browsers.\n * @see http://caniuse.com/Uint8Array\n * This is a type-conversion wrapper around `getPendingChanId()`\n * @return {!Uint8Array}\n */\nproto.lnrpc.FundingShimCancel.prototype.getPendingChanId_asU8 = function() {\n return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(\n this.getPendingChanId()));\n};\n\n\n/** @param {!(string|Uint8Array)} value */\nproto.lnrpc.FundingShimCancel.prototype.setPendingChanId = function(value) {\n jspb.Message.setField(this, 1, value);\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.lnrpc.FundingPsbtVerify = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.lnrpc.FundingPsbtVerify, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.lnrpc.FundingPsbtVerify.displayName = 'proto.lnrpc.FundingPsbtVerify';\n}\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.lnrpc.FundingPsbtVerify.prototype.toObject = function(opt_includeInstance) {\n return proto.lnrpc.FundingPsbtVerify.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.lnrpc.FundingPsbtVerify} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.FundingPsbtVerify.toObject = function(includeInstance, msg) {\n var f, obj = {\n fundedPsbt: msg.getFundedPsbt_asB64(),\n pendingChanId: msg.getPendingChanId_asB64()\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.lnrpc.FundingPsbtVerify}\n */\nproto.lnrpc.FundingPsbtVerify.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.lnrpc.FundingPsbtVerify;\n return proto.lnrpc.FundingPsbtVerify.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.lnrpc.FundingPsbtVerify} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.lnrpc.FundingPsbtVerify}\n */\nproto.lnrpc.FundingPsbtVerify.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {!Uint8Array} */ (reader.readBytes());\n msg.setFundedPsbt(value);\n break;\n case 2:\n var value = /** @type {!Uint8Array} */ (reader.readBytes());\n msg.setPendingChanId(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.lnrpc.FundingPsbtVerify.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.lnrpc.FundingPsbtVerify.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.lnrpc.FundingPsbtVerify} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.FundingPsbtVerify.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getFundedPsbt_asU8();\n if (f.length > 0) {\n writer.writeBytes(\n 1,\n f\n );\n }\n f = message.getPendingChanId_asU8();\n if (f.length > 0) {\n writer.writeBytes(\n 2,\n f\n );\n }\n};\n\n\n/**\n * optional bytes funded_psbt = 1;\n * @return {string}\n */\nproto.lnrpc.FundingPsbtVerify.prototype.getFundedPsbt = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * optional bytes funded_psbt = 1;\n * This is a type-conversion wrapper around `getFundedPsbt()`\n * @return {string}\n */\nproto.lnrpc.FundingPsbtVerify.prototype.getFundedPsbt_asB64 = function() {\n return /** @type {string} */ (jspb.Message.bytesAsB64(\n this.getFundedPsbt()));\n};\n\n\n/**\n * optional bytes funded_psbt = 1;\n * Note that Uint8Array is not supported on all browsers.\n * @see http://caniuse.com/Uint8Array\n * This is a type-conversion wrapper around `getFundedPsbt()`\n * @return {!Uint8Array}\n */\nproto.lnrpc.FundingPsbtVerify.prototype.getFundedPsbt_asU8 = function() {\n return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(\n this.getFundedPsbt()));\n};\n\n\n/** @param {!(string|Uint8Array)} value */\nproto.lnrpc.FundingPsbtVerify.prototype.setFundedPsbt = function(value) {\n jspb.Message.setField(this, 1, value);\n};\n\n\n/**\n * optional bytes pending_chan_id = 2;\n * @return {string}\n */\nproto.lnrpc.FundingPsbtVerify.prototype.getPendingChanId = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * optional bytes pending_chan_id = 2;\n * This is a type-conversion wrapper around `getPendingChanId()`\n * @return {string}\n */\nproto.lnrpc.FundingPsbtVerify.prototype.getPendingChanId_asB64 = function() {\n return /** @type {string} */ (jspb.Message.bytesAsB64(\n this.getPendingChanId()));\n};\n\n\n/**\n * optional bytes pending_chan_id = 2;\n * Note that Uint8Array is not supported on all browsers.\n * @see http://caniuse.com/Uint8Array\n * This is a type-conversion wrapper around `getPendingChanId()`\n * @return {!Uint8Array}\n */\nproto.lnrpc.FundingPsbtVerify.prototype.getPendingChanId_asU8 = function() {\n return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(\n this.getPendingChanId()));\n};\n\n\n/** @param {!(string|Uint8Array)} value */\nproto.lnrpc.FundingPsbtVerify.prototype.setPendingChanId = function(value) {\n jspb.Message.setField(this, 2, value);\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.lnrpc.FundingPsbtFinalize = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.lnrpc.FundingPsbtFinalize, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.lnrpc.FundingPsbtFinalize.displayName = 'proto.lnrpc.FundingPsbtFinalize';\n}\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.lnrpc.FundingPsbtFinalize.prototype.toObject = function(opt_includeInstance) {\n return proto.lnrpc.FundingPsbtFinalize.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.lnrpc.FundingPsbtFinalize} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.FundingPsbtFinalize.toObject = function(includeInstance, msg) {\n var f, obj = {\n signedPsbt: msg.getSignedPsbt_asB64(),\n pendingChanId: msg.getPendingChanId_asB64()\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.lnrpc.FundingPsbtFinalize}\n */\nproto.lnrpc.FundingPsbtFinalize.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.lnrpc.FundingPsbtFinalize;\n return proto.lnrpc.FundingPsbtFinalize.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.lnrpc.FundingPsbtFinalize} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.lnrpc.FundingPsbtFinalize}\n */\nproto.lnrpc.FundingPsbtFinalize.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {!Uint8Array} */ (reader.readBytes());\n msg.setSignedPsbt(value);\n break;\n case 2:\n var value = /** @type {!Uint8Array} */ (reader.readBytes());\n msg.setPendingChanId(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.lnrpc.FundingPsbtFinalize.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.lnrpc.FundingPsbtFinalize.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.lnrpc.FundingPsbtFinalize} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.FundingPsbtFinalize.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getSignedPsbt_asU8();\n if (f.length > 0) {\n writer.writeBytes(\n 1,\n f\n );\n }\n f = message.getPendingChanId_asU8();\n if (f.length > 0) {\n writer.writeBytes(\n 2,\n f\n );\n }\n};\n\n\n/**\n * optional bytes signed_psbt = 1;\n * @return {string}\n */\nproto.lnrpc.FundingPsbtFinalize.prototype.getSignedPsbt = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * optional bytes signed_psbt = 1;\n * This is a type-conversion wrapper around `getSignedPsbt()`\n * @return {string}\n */\nproto.lnrpc.FundingPsbtFinalize.prototype.getSignedPsbt_asB64 = function() {\n return /** @type {string} */ (jspb.Message.bytesAsB64(\n this.getSignedPsbt()));\n};\n\n\n/**\n * optional bytes signed_psbt = 1;\n * Note that Uint8Array is not supported on all browsers.\n * @see http://caniuse.com/Uint8Array\n * This is a type-conversion wrapper around `getSignedPsbt()`\n * @return {!Uint8Array}\n */\nproto.lnrpc.FundingPsbtFinalize.prototype.getSignedPsbt_asU8 = function() {\n return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(\n this.getSignedPsbt()));\n};\n\n\n/** @param {!(string|Uint8Array)} value */\nproto.lnrpc.FundingPsbtFinalize.prototype.setSignedPsbt = function(value) {\n jspb.Message.setField(this, 1, value);\n};\n\n\n/**\n * optional bytes pending_chan_id = 2;\n * @return {string}\n */\nproto.lnrpc.FundingPsbtFinalize.prototype.getPendingChanId = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * optional bytes pending_chan_id = 2;\n * This is a type-conversion wrapper around `getPendingChanId()`\n * @return {string}\n */\nproto.lnrpc.FundingPsbtFinalize.prototype.getPendingChanId_asB64 = function() {\n return /** @type {string} */ (jspb.Message.bytesAsB64(\n this.getPendingChanId()));\n};\n\n\n/**\n * optional bytes pending_chan_id = 2;\n * Note that Uint8Array is not supported on all browsers.\n * @see http://caniuse.com/Uint8Array\n * This is a type-conversion wrapper around `getPendingChanId()`\n * @return {!Uint8Array}\n */\nproto.lnrpc.FundingPsbtFinalize.prototype.getPendingChanId_asU8 = function() {\n return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(\n this.getPendingChanId()));\n};\n\n\n/** @param {!(string|Uint8Array)} value */\nproto.lnrpc.FundingPsbtFinalize.prototype.setPendingChanId = function(value) {\n jspb.Message.setField(this, 2, value);\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.lnrpc.FundingTransitionMsg = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, proto.lnrpc.FundingTransitionMsg.oneofGroups_);\n};\ngoog.inherits(proto.lnrpc.FundingTransitionMsg, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.lnrpc.FundingTransitionMsg.displayName = 'proto.lnrpc.FundingTransitionMsg';\n}\n/**\n * Oneof group definitions for this message. Each group defines the field\n * numbers belonging to that group. When of these fields' value is set, all\n * other fields in the group are cleared. During deserialization, if multiple\n * fields are encountered for a group, only the last value seen will be kept.\n * @private {!Array>}\n * @const\n */\nproto.lnrpc.FundingTransitionMsg.oneofGroups_ = [[1,2,3,4]];\n\n/**\n * @enum {number}\n */\nproto.lnrpc.FundingTransitionMsg.TriggerCase = {\n TRIGGER_NOT_SET: 0,\n SHIM_REGISTER: 1,\n SHIM_CANCEL: 2,\n PSBT_VERIFY: 3,\n PSBT_FINALIZE: 4\n};\n\n/**\n * @return {proto.lnrpc.FundingTransitionMsg.TriggerCase}\n */\nproto.lnrpc.FundingTransitionMsg.prototype.getTriggerCase = function() {\n return /** @type {proto.lnrpc.FundingTransitionMsg.TriggerCase} */(jspb.Message.computeOneofCase(this, proto.lnrpc.FundingTransitionMsg.oneofGroups_[0]));\n};\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.lnrpc.FundingTransitionMsg.prototype.toObject = function(opt_includeInstance) {\n return proto.lnrpc.FundingTransitionMsg.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.lnrpc.FundingTransitionMsg} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.FundingTransitionMsg.toObject = function(includeInstance, msg) {\n var f, obj = {\n shimRegister: (f = msg.getShimRegister()) && proto.lnrpc.FundingShim.toObject(includeInstance, f),\n shimCancel: (f = msg.getShimCancel()) && proto.lnrpc.FundingShimCancel.toObject(includeInstance, f),\n psbtVerify: (f = msg.getPsbtVerify()) && proto.lnrpc.FundingPsbtVerify.toObject(includeInstance, f),\n psbtFinalize: (f = msg.getPsbtFinalize()) && proto.lnrpc.FundingPsbtFinalize.toObject(includeInstance, f)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.lnrpc.FundingTransitionMsg}\n */\nproto.lnrpc.FundingTransitionMsg.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.lnrpc.FundingTransitionMsg;\n return proto.lnrpc.FundingTransitionMsg.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.lnrpc.FundingTransitionMsg} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.lnrpc.FundingTransitionMsg}\n */\nproto.lnrpc.FundingTransitionMsg.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = new proto.lnrpc.FundingShim;\n reader.readMessage(value,proto.lnrpc.FundingShim.deserializeBinaryFromReader);\n msg.setShimRegister(value);\n break;\n case 2:\n var value = new proto.lnrpc.FundingShimCancel;\n reader.readMessage(value,proto.lnrpc.FundingShimCancel.deserializeBinaryFromReader);\n msg.setShimCancel(value);\n break;\n case 3:\n var value = new proto.lnrpc.FundingPsbtVerify;\n reader.readMessage(value,proto.lnrpc.FundingPsbtVerify.deserializeBinaryFromReader);\n msg.setPsbtVerify(value);\n break;\n case 4:\n var value = new proto.lnrpc.FundingPsbtFinalize;\n reader.readMessage(value,proto.lnrpc.FundingPsbtFinalize.deserializeBinaryFromReader);\n msg.setPsbtFinalize(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.lnrpc.FundingTransitionMsg.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.lnrpc.FundingTransitionMsg.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.lnrpc.FundingTransitionMsg} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.FundingTransitionMsg.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getShimRegister();\n if (f != null) {\n writer.writeMessage(\n 1,\n f,\n proto.lnrpc.FundingShim.serializeBinaryToWriter\n );\n }\n f = message.getShimCancel();\n if (f != null) {\n writer.writeMessage(\n 2,\n f,\n proto.lnrpc.FundingShimCancel.serializeBinaryToWriter\n );\n }\n f = message.getPsbtVerify();\n if (f != null) {\n writer.writeMessage(\n 3,\n f,\n proto.lnrpc.FundingPsbtVerify.serializeBinaryToWriter\n );\n }\n f = message.getPsbtFinalize();\n if (f != null) {\n writer.writeMessage(\n 4,\n f,\n proto.lnrpc.FundingPsbtFinalize.serializeBinaryToWriter\n );\n }\n};\n\n\n/**\n * optional FundingShim shim_register = 1;\n * @return {?proto.lnrpc.FundingShim}\n */\nproto.lnrpc.FundingTransitionMsg.prototype.getShimRegister = function() {\n return /** @type{?proto.lnrpc.FundingShim} */ (\n jspb.Message.getWrapperField(this, proto.lnrpc.FundingShim, 1));\n};\n\n\n/** @param {?proto.lnrpc.FundingShim|undefined} value */\nproto.lnrpc.FundingTransitionMsg.prototype.setShimRegister = function(value) {\n jspb.Message.setOneofWrapperField(this, 1, proto.lnrpc.FundingTransitionMsg.oneofGroups_[0], value);\n};\n\n\nproto.lnrpc.FundingTransitionMsg.prototype.clearShimRegister = function() {\n this.setShimRegister(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {!boolean}\n */\nproto.lnrpc.FundingTransitionMsg.prototype.hasShimRegister = function() {\n return jspb.Message.getField(this, 1) != null;\n};\n\n\n/**\n * optional FundingShimCancel shim_cancel = 2;\n * @return {?proto.lnrpc.FundingShimCancel}\n */\nproto.lnrpc.FundingTransitionMsg.prototype.getShimCancel = function() {\n return /** @type{?proto.lnrpc.FundingShimCancel} */ (\n jspb.Message.getWrapperField(this, proto.lnrpc.FundingShimCancel, 2));\n};\n\n\n/** @param {?proto.lnrpc.FundingShimCancel|undefined} value */\nproto.lnrpc.FundingTransitionMsg.prototype.setShimCancel = function(value) {\n jspb.Message.setOneofWrapperField(this, 2, proto.lnrpc.FundingTransitionMsg.oneofGroups_[0], value);\n};\n\n\nproto.lnrpc.FundingTransitionMsg.prototype.clearShimCancel = function() {\n this.setShimCancel(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {!boolean}\n */\nproto.lnrpc.FundingTransitionMsg.prototype.hasShimCancel = function() {\n return jspb.Message.getField(this, 2) != null;\n};\n\n\n/**\n * optional FundingPsbtVerify psbt_verify = 3;\n * @return {?proto.lnrpc.FundingPsbtVerify}\n */\nproto.lnrpc.FundingTransitionMsg.prototype.getPsbtVerify = function() {\n return /** @type{?proto.lnrpc.FundingPsbtVerify} */ (\n jspb.Message.getWrapperField(this, proto.lnrpc.FundingPsbtVerify, 3));\n};\n\n\n/** @param {?proto.lnrpc.FundingPsbtVerify|undefined} value */\nproto.lnrpc.FundingTransitionMsg.prototype.setPsbtVerify = function(value) {\n jspb.Message.setOneofWrapperField(this, 3, proto.lnrpc.FundingTransitionMsg.oneofGroups_[0], value);\n};\n\n\nproto.lnrpc.FundingTransitionMsg.prototype.clearPsbtVerify = function() {\n this.setPsbtVerify(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {!boolean}\n */\nproto.lnrpc.FundingTransitionMsg.prototype.hasPsbtVerify = function() {\n return jspb.Message.getField(this, 3) != null;\n};\n\n\n/**\n * optional FundingPsbtFinalize psbt_finalize = 4;\n * @return {?proto.lnrpc.FundingPsbtFinalize}\n */\nproto.lnrpc.FundingTransitionMsg.prototype.getPsbtFinalize = function() {\n return /** @type{?proto.lnrpc.FundingPsbtFinalize} */ (\n jspb.Message.getWrapperField(this, proto.lnrpc.FundingPsbtFinalize, 4));\n};\n\n\n/** @param {?proto.lnrpc.FundingPsbtFinalize|undefined} value */\nproto.lnrpc.FundingTransitionMsg.prototype.setPsbtFinalize = function(value) {\n jspb.Message.setOneofWrapperField(this, 4, proto.lnrpc.FundingTransitionMsg.oneofGroups_[0], value);\n};\n\n\nproto.lnrpc.FundingTransitionMsg.prototype.clearPsbtFinalize = function() {\n this.setPsbtFinalize(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {!boolean}\n */\nproto.lnrpc.FundingTransitionMsg.prototype.hasPsbtFinalize = function() {\n return jspb.Message.getField(this, 4) != null;\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.lnrpc.FundingStateStepResp = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.lnrpc.FundingStateStepResp, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.lnrpc.FundingStateStepResp.displayName = 'proto.lnrpc.FundingStateStepResp';\n}\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.lnrpc.FundingStateStepResp.prototype.toObject = function(opt_includeInstance) {\n return proto.lnrpc.FundingStateStepResp.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.lnrpc.FundingStateStepResp} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.FundingStateStepResp.toObject = function(includeInstance, msg) {\n var f, obj = {\n\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.lnrpc.FundingStateStepResp}\n */\nproto.lnrpc.FundingStateStepResp.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.lnrpc.FundingStateStepResp;\n return proto.lnrpc.FundingStateStepResp.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.lnrpc.FundingStateStepResp} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.lnrpc.FundingStateStepResp}\n */\nproto.lnrpc.FundingStateStepResp.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.lnrpc.FundingStateStepResp.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.lnrpc.FundingStateStepResp.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.lnrpc.FundingStateStepResp} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.FundingStateStepResp.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.lnrpc.PendingHTLC = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.lnrpc.PendingHTLC, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.lnrpc.PendingHTLC.displayName = 'proto.lnrpc.PendingHTLC';\n}\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.lnrpc.PendingHTLC.prototype.toObject = function(opt_includeInstance) {\n return proto.lnrpc.PendingHTLC.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.lnrpc.PendingHTLC} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.PendingHTLC.toObject = function(includeInstance, msg) {\n var f, obj = {\n incoming: jspb.Message.getFieldWithDefault(msg, 1, false),\n amount: jspb.Message.getFieldWithDefault(msg, 2, 0),\n outpoint: jspb.Message.getFieldWithDefault(msg, 3, \"\"),\n maturityHeight: jspb.Message.getFieldWithDefault(msg, 4, 0),\n blocksTilMaturity: jspb.Message.getFieldWithDefault(msg, 5, 0),\n stage: jspb.Message.getFieldWithDefault(msg, 6, 0)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.lnrpc.PendingHTLC}\n */\nproto.lnrpc.PendingHTLC.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.lnrpc.PendingHTLC;\n return proto.lnrpc.PendingHTLC.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.lnrpc.PendingHTLC} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.lnrpc.PendingHTLC}\n */\nproto.lnrpc.PendingHTLC.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setIncoming(value);\n break;\n case 2:\n var value = /** @type {number} */ (reader.readInt64());\n msg.setAmount(value);\n break;\n case 3:\n var value = /** @type {string} */ (reader.readString());\n msg.setOutpoint(value);\n break;\n case 4:\n var value = /** @type {number} */ (reader.readUint32());\n msg.setMaturityHeight(value);\n break;\n case 5:\n var value = /** @type {number} */ (reader.readInt32());\n msg.setBlocksTilMaturity(value);\n break;\n case 6:\n var value = /** @type {number} */ (reader.readUint32());\n msg.setStage(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.lnrpc.PendingHTLC.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.lnrpc.PendingHTLC.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.lnrpc.PendingHTLC} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.PendingHTLC.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getIncoming();\n if (f) {\n writer.writeBool(\n 1,\n f\n );\n }\n f = message.getAmount();\n if (f !== 0) {\n writer.writeInt64(\n 2,\n f\n );\n }\n f = message.getOutpoint();\n if (f.length > 0) {\n writer.writeString(\n 3,\n f\n );\n }\n f = message.getMaturityHeight();\n if (f !== 0) {\n writer.writeUint32(\n 4,\n f\n );\n }\n f = message.getBlocksTilMaturity();\n if (f !== 0) {\n writer.writeInt32(\n 5,\n f\n );\n }\n f = message.getStage();\n if (f !== 0) {\n writer.writeUint32(\n 6,\n f\n );\n }\n};\n\n\n/**\n * optional bool incoming = 1;\n * Note that Boolean fields may be set to 0/1 when serialized from a Java server.\n * You should avoid comparisons like {@code val === true/false} in those cases.\n * @return {boolean}\n */\nproto.lnrpc.PendingHTLC.prototype.getIncoming = function() {\n return /** @type {boolean} */ (jspb.Message.getFieldWithDefault(this, 1, false));\n};\n\n\n/** @param {boolean} value */\nproto.lnrpc.PendingHTLC.prototype.setIncoming = function(value) {\n jspb.Message.setField(this, 1, value);\n};\n\n\n/**\n * optional int64 amount = 2;\n * @return {number}\n */\nproto.lnrpc.PendingHTLC.prototype.getAmount = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.PendingHTLC.prototype.setAmount = function(value) {\n jspb.Message.setField(this, 2, value);\n};\n\n\n/**\n * optional string outpoint = 3;\n * @return {string}\n */\nproto.lnrpc.PendingHTLC.prototype.getOutpoint = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/** @param {string} value */\nproto.lnrpc.PendingHTLC.prototype.setOutpoint = function(value) {\n jspb.Message.setField(this, 3, value);\n};\n\n\n/**\n * optional uint32 maturity_height = 4;\n * @return {number}\n */\nproto.lnrpc.PendingHTLC.prototype.getMaturityHeight = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.PendingHTLC.prototype.setMaturityHeight = function(value) {\n jspb.Message.setField(this, 4, value);\n};\n\n\n/**\n * optional int32 blocks_til_maturity = 5;\n * @return {number}\n */\nproto.lnrpc.PendingHTLC.prototype.getBlocksTilMaturity = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 5, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.PendingHTLC.prototype.setBlocksTilMaturity = function(value) {\n jspb.Message.setField(this, 5, value);\n};\n\n\n/**\n * optional uint32 stage = 6;\n * @return {number}\n */\nproto.lnrpc.PendingHTLC.prototype.getStage = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 6, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.PendingHTLC.prototype.setStage = function(value) {\n jspb.Message.setField(this, 6, value);\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.lnrpc.PendingChannelsRequest = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.lnrpc.PendingChannelsRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.lnrpc.PendingChannelsRequest.displayName = 'proto.lnrpc.PendingChannelsRequest';\n}\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.lnrpc.PendingChannelsRequest.prototype.toObject = function(opt_includeInstance) {\n return proto.lnrpc.PendingChannelsRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.lnrpc.PendingChannelsRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.PendingChannelsRequest.toObject = function(includeInstance, msg) {\n var f, obj = {\n\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.lnrpc.PendingChannelsRequest}\n */\nproto.lnrpc.PendingChannelsRequest.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.lnrpc.PendingChannelsRequest;\n return proto.lnrpc.PendingChannelsRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.lnrpc.PendingChannelsRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.lnrpc.PendingChannelsRequest}\n */\nproto.lnrpc.PendingChannelsRequest.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.lnrpc.PendingChannelsRequest.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.lnrpc.PendingChannelsRequest.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.lnrpc.PendingChannelsRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.PendingChannelsRequest.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.lnrpc.PendingChannelsResponse = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, proto.lnrpc.PendingChannelsResponse.repeatedFields_, null);\n};\ngoog.inherits(proto.lnrpc.PendingChannelsResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.lnrpc.PendingChannelsResponse.displayName = 'proto.lnrpc.PendingChannelsResponse';\n}\n/**\n * List of repeated fields within this message type.\n * @private {!Array}\n * @const\n */\nproto.lnrpc.PendingChannelsResponse.repeatedFields_ = [2,3,4,5];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.lnrpc.PendingChannelsResponse.prototype.toObject = function(opt_includeInstance) {\n return proto.lnrpc.PendingChannelsResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.lnrpc.PendingChannelsResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.PendingChannelsResponse.toObject = function(includeInstance, msg) {\n var f, obj = {\n totalLimboBalance: jspb.Message.getFieldWithDefault(msg, 1, 0),\n pendingOpenChannelsList: jspb.Message.toObjectList(msg.getPendingOpenChannelsList(),\n proto.lnrpc.PendingChannelsResponse.PendingOpenChannel.toObject, includeInstance),\n pendingClosingChannelsList: jspb.Message.toObjectList(msg.getPendingClosingChannelsList(),\n proto.lnrpc.PendingChannelsResponse.ClosedChannel.toObject, includeInstance),\n pendingForceClosingChannelsList: jspb.Message.toObjectList(msg.getPendingForceClosingChannelsList(),\n proto.lnrpc.PendingChannelsResponse.ForceClosedChannel.toObject, includeInstance),\n waitingCloseChannelsList: jspb.Message.toObjectList(msg.getWaitingCloseChannelsList(),\n proto.lnrpc.PendingChannelsResponse.WaitingCloseChannel.toObject, includeInstance)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.lnrpc.PendingChannelsResponse}\n */\nproto.lnrpc.PendingChannelsResponse.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.lnrpc.PendingChannelsResponse;\n return proto.lnrpc.PendingChannelsResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.lnrpc.PendingChannelsResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.lnrpc.PendingChannelsResponse}\n */\nproto.lnrpc.PendingChannelsResponse.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {number} */ (reader.readInt64());\n msg.setTotalLimboBalance(value);\n break;\n case 2:\n var value = new proto.lnrpc.PendingChannelsResponse.PendingOpenChannel;\n reader.readMessage(value,proto.lnrpc.PendingChannelsResponse.PendingOpenChannel.deserializeBinaryFromReader);\n msg.addPendingOpenChannels(value);\n break;\n case 3:\n var value = new proto.lnrpc.PendingChannelsResponse.ClosedChannel;\n reader.readMessage(value,proto.lnrpc.PendingChannelsResponse.ClosedChannel.deserializeBinaryFromReader);\n msg.addPendingClosingChannels(value);\n break;\n case 4:\n var value = new proto.lnrpc.PendingChannelsResponse.ForceClosedChannel;\n reader.readMessage(value,proto.lnrpc.PendingChannelsResponse.ForceClosedChannel.deserializeBinaryFromReader);\n msg.addPendingForceClosingChannels(value);\n break;\n case 5:\n var value = new proto.lnrpc.PendingChannelsResponse.WaitingCloseChannel;\n reader.readMessage(value,proto.lnrpc.PendingChannelsResponse.WaitingCloseChannel.deserializeBinaryFromReader);\n msg.addWaitingCloseChannels(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.lnrpc.PendingChannelsResponse.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.lnrpc.PendingChannelsResponse.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.lnrpc.PendingChannelsResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.PendingChannelsResponse.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getTotalLimboBalance();\n if (f !== 0) {\n writer.writeInt64(\n 1,\n f\n );\n }\n f = message.getPendingOpenChannelsList();\n if (f.length > 0) {\n writer.writeRepeatedMessage(\n 2,\n f,\n proto.lnrpc.PendingChannelsResponse.PendingOpenChannel.serializeBinaryToWriter\n );\n }\n f = message.getPendingClosingChannelsList();\n if (f.length > 0) {\n writer.writeRepeatedMessage(\n 3,\n f,\n proto.lnrpc.PendingChannelsResponse.ClosedChannel.serializeBinaryToWriter\n );\n }\n f = message.getPendingForceClosingChannelsList();\n if (f.length > 0) {\n writer.writeRepeatedMessage(\n 4,\n f,\n proto.lnrpc.PendingChannelsResponse.ForceClosedChannel.serializeBinaryToWriter\n );\n }\n f = message.getWaitingCloseChannelsList();\n if (f.length > 0) {\n writer.writeRepeatedMessage(\n 5,\n f,\n proto.lnrpc.PendingChannelsResponse.WaitingCloseChannel.serializeBinaryToWriter\n );\n }\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.lnrpc.PendingChannelsResponse.PendingChannel = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.lnrpc.PendingChannelsResponse.PendingChannel, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.lnrpc.PendingChannelsResponse.PendingChannel.displayName = 'proto.lnrpc.PendingChannelsResponse.PendingChannel';\n}\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.lnrpc.PendingChannelsResponse.PendingChannel.prototype.toObject = function(opt_includeInstance) {\n return proto.lnrpc.PendingChannelsResponse.PendingChannel.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.lnrpc.PendingChannelsResponse.PendingChannel} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.PendingChannelsResponse.PendingChannel.toObject = function(includeInstance, msg) {\n var f, obj = {\n remoteNodePub: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n channelPoint: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n capacity: jspb.Message.getFieldWithDefault(msg, 3, 0),\n localBalance: jspb.Message.getFieldWithDefault(msg, 4, 0),\n remoteBalance: jspb.Message.getFieldWithDefault(msg, 5, 0),\n localChanReserveSat: jspb.Message.getFieldWithDefault(msg, 6, 0),\n remoteChanReserveSat: jspb.Message.getFieldWithDefault(msg, 7, 0),\n initiator: jspb.Message.getFieldWithDefault(msg, 8, 0),\n commitmentType: jspb.Message.getFieldWithDefault(msg, 9, 0)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.lnrpc.PendingChannelsResponse.PendingChannel}\n */\nproto.lnrpc.PendingChannelsResponse.PendingChannel.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.lnrpc.PendingChannelsResponse.PendingChannel;\n return proto.lnrpc.PendingChannelsResponse.PendingChannel.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.lnrpc.PendingChannelsResponse.PendingChannel} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.lnrpc.PendingChannelsResponse.PendingChannel}\n */\nproto.lnrpc.PendingChannelsResponse.PendingChannel.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setRemoteNodePub(value);\n break;\n case 2:\n var value = /** @type {string} */ (reader.readString());\n msg.setChannelPoint(value);\n break;\n case 3:\n var value = /** @type {number} */ (reader.readInt64());\n msg.setCapacity(value);\n break;\n case 4:\n var value = /** @type {number} */ (reader.readInt64());\n msg.setLocalBalance(value);\n break;\n case 5:\n var value = /** @type {number} */ (reader.readInt64());\n msg.setRemoteBalance(value);\n break;\n case 6:\n var value = /** @type {number} */ (reader.readInt64());\n msg.setLocalChanReserveSat(value);\n break;\n case 7:\n var value = /** @type {number} */ (reader.readInt64());\n msg.setRemoteChanReserveSat(value);\n break;\n case 8:\n var value = /** @type {!proto.lnrpc.Initiator} */ (reader.readEnum());\n msg.setInitiator(value);\n break;\n case 9:\n var value = /** @type {!proto.lnrpc.CommitmentType} */ (reader.readEnum());\n msg.setCommitmentType(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.lnrpc.PendingChannelsResponse.PendingChannel.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.lnrpc.PendingChannelsResponse.PendingChannel.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.lnrpc.PendingChannelsResponse.PendingChannel} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.PendingChannelsResponse.PendingChannel.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getRemoteNodePub();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n f = message.getChannelPoint();\n if (f.length > 0) {\n writer.writeString(\n 2,\n f\n );\n }\n f = message.getCapacity();\n if (f !== 0) {\n writer.writeInt64(\n 3,\n f\n );\n }\n f = message.getLocalBalance();\n if (f !== 0) {\n writer.writeInt64(\n 4,\n f\n );\n }\n f = message.getRemoteBalance();\n if (f !== 0) {\n writer.writeInt64(\n 5,\n f\n );\n }\n f = message.getLocalChanReserveSat();\n if (f !== 0) {\n writer.writeInt64(\n 6,\n f\n );\n }\n f = message.getRemoteChanReserveSat();\n if (f !== 0) {\n writer.writeInt64(\n 7,\n f\n );\n }\n f = message.getInitiator();\n if (f !== 0.0) {\n writer.writeEnum(\n 8,\n f\n );\n }\n f = message.getCommitmentType();\n if (f !== 0.0) {\n writer.writeEnum(\n 9,\n f\n );\n }\n};\n\n\n/**\n * optional string remote_node_pub = 1;\n * @return {string}\n */\nproto.lnrpc.PendingChannelsResponse.PendingChannel.prototype.getRemoteNodePub = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/** @param {string} value */\nproto.lnrpc.PendingChannelsResponse.PendingChannel.prototype.setRemoteNodePub = function(value) {\n jspb.Message.setField(this, 1, value);\n};\n\n\n/**\n * optional string channel_point = 2;\n * @return {string}\n */\nproto.lnrpc.PendingChannelsResponse.PendingChannel.prototype.getChannelPoint = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/** @param {string} value */\nproto.lnrpc.PendingChannelsResponse.PendingChannel.prototype.setChannelPoint = function(value) {\n jspb.Message.setField(this, 2, value);\n};\n\n\n/**\n * optional int64 capacity = 3;\n * @return {number}\n */\nproto.lnrpc.PendingChannelsResponse.PendingChannel.prototype.getCapacity = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.PendingChannelsResponse.PendingChannel.prototype.setCapacity = function(value) {\n jspb.Message.setField(this, 3, value);\n};\n\n\n/**\n * optional int64 local_balance = 4;\n * @return {number}\n */\nproto.lnrpc.PendingChannelsResponse.PendingChannel.prototype.getLocalBalance = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.PendingChannelsResponse.PendingChannel.prototype.setLocalBalance = function(value) {\n jspb.Message.setField(this, 4, value);\n};\n\n\n/**\n * optional int64 remote_balance = 5;\n * @return {number}\n */\nproto.lnrpc.PendingChannelsResponse.PendingChannel.prototype.getRemoteBalance = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 5, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.PendingChannelsResponse.PendingChannel.prototype.setRemoteBalance = function(value) {\n jspb.Message.setField(this, 5, value);\n};\n\n\n/**\n * optional int64 local_chan_reserve_sat = 6;\n * @return {number}\n */\nproto.lnrpc.PendingChannelsResponse.PendingChannel.prototype.getLocalChanReserveSat = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 6, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.PendingChannelsResponse.PendingChannel.prototype.setLocalChanReserveSat = function(value) {\n jspb.Message.setField(this, 6, value);\n};\n\n\n/**\n * optional int64 remote_chan_reserve_sat = 7;\n * @return {number}\n */\nproto.lnrpc.PendingChannelsResponse.PendingChannel.prototype.getRemoteChanReserveSat = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 7, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.PendingChannelsResponse.PendingChannel.prototype.setRemoteChanReserveSat = function(value) {\n jspb.Message.setField(this, 7, value);\n};\n\n\n/**\n * optional Initiator initiator = 8;\n * @return {!proto.lnrpc.Initiator}\n */\nproto.lnrpc.PendingChannelsResponse.PendingChannel.prototype.getInitiator = function() {\n return /** @type {!proto.lnrpc.Initiator} */ (jspb.Message.getFieldWithDefault(this, 8, 0));\n};\n\n\n/** @param {!proto.lnrpc.Initiator} value */\nproto.lnrpc.PendingChannelsResponse.PendingChannel.prototype.setInitiator = function(value) {\n jspb.Message.setField(this, 8, value);\n};\n\n\n/**\n * optional CommitmentType commitment_type = 9;\n * @return {!proto.lnrpc.CommitmentType}\n */\nproto.lnrpc.PendingChannelsResponse.PendingChannel.prototype.getCommitmentType = function() {\n return /** @type {!proto.lnrpc.CommitmentType} */ (jspb.Message.getFieldWithDefault(this, 9, 0));\n};\n\n\n/** @param {!proto.lnrpc.CommitmentType} value */\nproto.lnrpc.PendingChannelsResponse.PendingChannel.prototype.setCommitmentType = function(value) {\n jspb.Message.setField(this, 9, value);\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.lnrpc.PendingChannelsResponse.PendingOpenChannel = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.lnrpc.PendingChannelsResponse.PendingOpenChannel, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.lnrpc.PendingChannelsResponse.PendingOpenChannel.displayName = 'proto.lnrpc.PendingChannelsResponse.PendingOpenChannel';\n}\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.lnrpc.PendingChannelsResponse.PendingOpenChannel.prototype.toObject = function(opt_includeInstance) {\n return proto.lnrpc.PendingChannelsResponse.PendingOpenChannel.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.lnrpc.PendingChannelsResponse.PendingOpenChannel} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.PendingChannelsResponse.PendingOpenChannel.toObject = function(includeInstance, msg) {\n var f, obj = {\n channel: (f = msg.getChannel()) && proto.lnrpc.PendingChannelsResponse.PendingChannel.toObject(includeInstance, f),\n confirmationHeight: jspb.Message.getFieldWithDefault(msg, 2, 0),\n commitFee: jspb.Message.getFieldWithDefault(msg, 4, 0),\n commitWeight: jspb.Message.getFieldWithDefault(msg, 5, 0),\n feePerKw: jspb.Message.getFieldWithDefault(msg, 6, 0)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.lnrpc.PendingChannelsResponse.PendingOpenChannel}\n */\nproto.lnrpc.PendingChannelsResponse.PendingOpenChannel.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.lnrpc.PendingChannelsResponse.PendingOpenChannel;\n return proto.lnrpc.PendingChannelsResponse.PendingOpenChannel.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.lnrpc.PendingChannelsResponse.PendingOpenChannel} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.lnrpc.PendingChannelsResponse.PendingOpenChannel}\n */\nproto.lnrpc.PendingChannelsResponse.PendingOpenChannel.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = new proto.lnrpc.PendingChannelsResponse.PendingChannel;\n reader.readMessage(value,proto.lnrpc.PendingChannelsResponse.PendingChannel.deserializeBinaryFromReader);\n msg.setChannel(value);\n break;\n case 2:\n var value = /** @type {number} */ (reader.readUint32());\n msg.setConfirmationHeight(value);\n break;\n case 4:\n var value = /** @type {number} */ (reader.readInt64());\n msg.setCommitFee(value);\n break;\n case 5:\n var value = /** @type {number} */ (reader.readInt64());\n msg.setCommitWeight(value);\n break;\n case 6:\n var value = /** @type {number} */ (reader.readInt64());\n msg.setFeePerKw(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.lnrpc.PendingChannelsResponse.PendingOpenChannel.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.lnrpc.PendingChannelsResponse.PendingOpenChannel.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.lnrpc.PendingChannelsResponse.PendingOpenChannel} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.PendingChannelsResponse.PendingOpenChannel.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getChannel();\n if (f != null) {\n writer.writeMessage(\n 1,\n f,\n proto.lnrpc.PendingChannelsResponse.PendingChannel.serializeBinaryToWriter\n );\n }\n f = message.getConfirmationHeight();\n if (f !== 0) {\n writer.writeUint32(\n 2,\n f\n );\n }\n f = message.getCommitFee();\n if (f !== 0) {\n writer.writeInt64(\n 4,\n f\n );\n }\n f = message.getCommitWeight();\n if (f !== 0) {\n writer.writeInt64(\n 5,\n f\n );\n }\n f = message.getFeePerKw();\n if (f !== 0) {\n writer.writeInt64(\n 6,\n f\n );\n }\n};\n\n\n/**\n * optional PendingChannel channel = 1;\n * @return {?proto.lnrpc.PendingChannelsResponse.PendingChannel}\n */\nproto.lnrpc.PendingChannelsResponse.PendingOpenChannel.prototype.getChannel = function() {\n return /** @type{?proto.lnrpc.PendingChannelsResponse.PendingChannel} */ (\n jspb.Message.getWrapperField(this, proto.lnrpc.PendingChannelsResponse.PendingChannel, 1));\n};\n\n\n/** @param {?proto.lnrpc.PendingChannelsResponse.PendingChannel|undefined} value */\nproto.lnrpc.PendingChannelsResponse.PendingOpenChannel.prototype.setChannel = function(value) {\n jspb.Message.setWrapperField(this, 1, value);\n};\n\n\nproto.lnrpc.PendingChannelsResponse.PendingOpenChannel.prototype.clearChannel = function() {\n this.setChannel(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {!boolean}\n */\nproto.lnrpc.PendingChannelsResponse.PendingOpenChannel.prototype.hasChannel = function() {\n return jspb.Message.getField(this, 1) != null;\n};\n\n\n/**\n * optional uint32 confirmation_height = 2;\n * @return {number}\n */\nproto.lnrpc.PendingChannelsResponse.PendingOpenChannel.prototype.getConfirmationHeight = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.PendingChannelsResponse.PendingOpenChannel.prototype.setConfirmationHeight = function(value) {\n jspb.Message.setField(this, 2, value);\n};\n\n\n/**\n * optional int64 commit_fee = 4;\n * @return {number}\n */\nproto.lnrpc.PendingChannelsResponse.PendingOpenChannel.prototype.getCommitFee = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.PendingChannelsResponse.PendingOpenChannel.prototype.setCommitFee = function(value) {\n jspb.Message.setField(this, 4, value);\n};\n\n\n/**\n * optional int64 commit_weight = 5;\n * @return {number}\n */\nproto.lnrpc.PendingChannelsResponse.PendingOpenChannel.prototype.getCommitWeight = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 5, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.PendingChannelsResponse.PendingOpenChannel.prototype.setCommitWeight = function(value) {\n jspb.Message.setField(this, 5, value);\n};\n\n\n/**\n * optional int64 fee_per_kw = 6;\n * @return {number}\n */\nproto.lnrpc.PendingChannelsResponse.PendingOpenChannel.prototype.getFeePerKw = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 6, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.PendingChannelsResponse.PendingOpenChannel.prototype.setFeePerKw = function(value) {\n jspb.Message.setField(this, 6, value);\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.lnrpc.PendingChannelsResponse.WaitingCloseChannel = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.lnrpc.PendingChannelsResponse.WaitingCloseChannel, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.lnrpc.PendingChannelsResponse.WaitingCloseChannel.displayName = 'proto.lnrpc.PendingChannelsResponse.WaitingCloseChannel';\n}\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.lnrpc.PendingChannelsResponse.WaitingCloseChannel.prototype.toObject = function(opt_includeInstance) {\n return proto.lnrpc.PendingChannelsResponse.WaitingCloseChannel.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.lnrpc.PendingChannelsResponse.WaitingCloseChannel} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.PendingChannelsResponse.WaitingCloseChannel.toObject = function(includeInstance, msg) {\n var f, obj = {\n channel: (f = msg.getChannel()) && proto.lnrpc.PendingChannelsResponse.PendingChannel.toObject(includeInstance, f),\n limboBalance: jspb.Message.getFieldWithDefault(msg, 2, 0),\n commitments: (f = msg.getCommitments()) && proto.lnrpc.PendingChannelsResponse.Commitments.toObject(includeInstance, f)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.lnrpc.PendingChannelsResponse.WaitingCloseChannel}\n */\nproto.lnrpc.PendingChannelsResponse.WaitingCloseChannel.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.lnrpc.PendingChannelsResponse.WaitingCloseChannel;\n return proto.lnrpc.PendingChannelsResponse.WaitingCloseChannel.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.lnrpc.PendingChannelsResponse.WaitingCloseChannel} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.lnrpc.PendingChannelsResponse.WaitingCloseChannel}\n */\nproto.lnrpc.PendingChannelsResponse.WaitingCloseChannel.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = new proto.lnrpc.PendingChannelsResponse.PendingChannel;\n reader.readMessage(value,proto.lnrpc.PendingChannelsResponse.PendingChannel.deserializeBinaryFromReader);\n msg.setChannel(value);\n break;\n case 2:\n var value = /** @type {number} */ (reader.readInt64());\n msg.setLimboBalance(value);\n break;\n case 3:\n var value = new proto.lnrpc.PendingChannelsResponse.Commitments;\n reader.readMessage(value,proto.lnrpc.PendingChannelsResponse.Commitments.deserializeBinaryFromReader);\n msg.setCommitments(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.lnrpc.PendingChannelsResponse.WaitingCloseChannel.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.lnrpc.PendingChannelsResponse.WaitingCloseChannel.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.lnrpc.PendingChannelsResponse.WaitingCloseChannel} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.PendingChannelsResponse.WaitingCloseChannel.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getChannel();\n if (f != null) {\n writer.writeMessage(\n 1,\n f,\n proto.lnrpc.PendingChannelsResponse.PendingChannel.serializeBinaryToWriter\n );\n }\n f = message.getLimboBalance();\n if (f !== 0) {\n writer.writeInt64(\n 2,\n f\n );\n }\n f = message.getCommitments();\n if (f != null) {\n writer.writeMessage(\n 3,\n f,\n proto.lnrpc.PendingChannelsResponse.Commitments.serializeBinaryToWriter\n );\n }\n};\n\n\n/**\n * optional PendingChannel channel = 1;\n * @return {?proto.lnrpc.PendingChannelsResponse.PendingChannel}\n */\nproto.lnrpc.PendingChannelsResponse.WaitingCloseChannel.prototype.getChannel = function() {\n return /** @type{?proto.lnrpc.PendingChannelsResponse.PendingChannel} */ (\n jspb.Message.getWrapperField(this, proto.lnrpc.PendingChannelsResponse.PendingChannel, 1));\n};\n\n\n/** @param {?proto.lnrpc.PendingChannelsResponse.PendingChannel|undefined} value */\nproto.lnrpc.PendingChannelsResponse.WaitingCloseChannel.prototype.setChannel = function(value) {\n jspb.Message.setWrapperField(this, 1, value);\n};\n\n\nproto.lnrpc.PendingChannelsResponse.WaitingCloseChannel.prototype.clearChannel = function() {\n this.setChannel(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {!boolean}\n */\nproto.lnrpc.PendingChannelsResponse.WaitingCloseChannel.prototype.hasChannel = function() {\n return jspb.Message.getField(this, 1) != null;\n};\n\n\n/**\n * optional int64 limbo_balance = 2;\n * @return {number}\n */\nproto.lnrpc.PendingChannelsResponse.WaitingCloseChannel.prototype.getLimboBalance = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.PendingChannelsResponse.WaitingCloseChannel.prototype.setLimboBalance = function(value) {\n jspb.Message.setField(this, 2, value);\n};\n\n\n/**\n * optional Commitments commitments = 3;\n * @return {?proto.lnrpc.PendingChannelsResponse.Commitments}\n */\nproto.lnrpc.PendingChannelsResponse.WaitingCloseChannel.prototype.getCommitments = function() {\n return /** @type{?proto.lnrpc.PendingChannelsResponse.Commitments} */ (\n jspb.Message.getWrapperField(this, proto.lnrpc.PendingChannelsResponse.Commitments, 3));\n};\n\n\n/** @param {?proto.lnrpc.PendingChannelsResponse.Commitments|undefined} value */\nproto.lnrpc.PendingChannelsResponse.WaitingCloseChannel.prototype.setCommitments = function(value) {\n jspb.Message.setWrapperField(this, 3, value);\n};\n\n\nproto.lnrpc.PendingChannelsResponse.WaitingCloseChannel.prototype.clearCommitments = function() {\n this.setCommitments(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {!boolean}\n */\nproto.lnrpc.PendingChannelsResponse.WaitingCloseChannel.prototype.hasCommitments = function() {\n return jspb.Message.getField(this, 3) != null;\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.lnrpc.PendingChannelsResponse.Commitments = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.lnrpc.PendingChannelsResponse.Commitments, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.lnrpc.PendingChannelsResponse.Commitments.displayName = 'proto.lnrpc.PendingChannelsResponse.Commitments';\n}\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.lnrpc.PendingChannelsResponse.Commitments.prototype.toObject = function(opt_includeInstance) {\n return proto.lnrpc.PendingChannelsResponse.Commitments.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.lnrpc.PendingChannelsResponse.Commitments} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.PendingChannelsResponse.Commitments.toObject = function(includeInstance, msg) {\n var f, obj = {\n localTxid: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n remoteTxid: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n remotePendingTxid: jspb.Message.getFieldWithDefault(msg, 3, \"\"),\n localCommitFeeSat: jspb.Message.getFieldWithDefault(msg, 4, 0),\n remoteCommitFeeSat: jspb.Message.getFieldWithDefault(msg, 5, 0),\n remotePendingCommitFeeSat: jspb.Message.getFieldWithDefault(msg, 6, 0)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.lnrpc.PendingChannelsResponse.Commitments}\n */\nproto.lnrpc.PendingChannelsResponse.Commitments.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.lnrpc.PendingChannelsResponse.Commitments;\n return proto.lnrpc.PendingChannelsResponse.Commitments.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.lnrpc.PendingChannelsResponse.Commitments} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.lnrpc.PendingChannelsResponse.Commitments}\n */\nproto.lnrpc.PendingChannelsResponse.Commitments.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setLocalTxid(value);\n break;\n case 2:\n var value = /** @type {string} */ (reader.readString());\n msg.setRemoteTxid(value);\n break;\n case 3:\n var value = /** @type {string} */ (reader.readString());\n msg.setRemotePendingTxid(value);\n break;\n case 4:\n var value = /** @type {number} */ (reader.readUint64());\n msg.setLocalCommitFeeSat(value);\n break;\n case 5:\n var value = /** @type {number} */ (reader.readUint64());\n msg.setRemoteCommitFeeSat(value);\n break;\n case 6:\n var value = /** @type {number} */ (reader.readUint64());\n msg.setRemotePendingCommitFeeSat(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.lnrpc.PendingChannelsResponse.Commitments.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.lnrpc.PendingChannelsResponse.Commitments.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.lnrpc.PendingChannelsResponse.Commitments} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.PendingChannelsResponse.Commitments.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getLocalTxid();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n f = message.getRemoteTxid();\n if (f.length > 0) {\n writer.writeString(\n 2,\n f\n );\n }\n f = message.getRemotePendingTxid();\n if (f.length > 0) {\n writer.writeString(\n 3,\n f\n );\n }\n f = message.getLocalCommitFeeSat();\n if (f !== 0) {\n writer.writeUint64(\n 4,\n f\n );\n }\n f = message.getRemoteCommitFeeSat();\n if (f !== 0) {\n writer.writeUint64(\n 5,\n f\n );\n }\n f = message.getRemotePendingCommitFeeSat();\n if (f !== 0) {\n writer.writeUint64(\n 6,\n f\n );\n }\n};\n\n\n/**\n * optional string local_txid = 1;\n * @return {string}\n */\nproto.lnrpc.PendingChannelsResponse.Commitments.prototype.getLocalTxid = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/** @param {string} value */\nproto.lnrpc.PendingChannelsResponse.Commitments.prototype.setLocalTxid = function(value) {\n jspb.Message.setField(this, 1, value);\n};\n\n\n/**\n * optional string remote_txid = 2;\n * @return {string}\n */\nproto.lnrpc.PendingChannelsResponse.Commitments.prototype.getRemoteTxid = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/** @param {string} value */\nproto.lnrpc.PendingChannelsResponse.Commitments.prototype.setRemoteTxid = function(value) {\n jspb.Message.setField(this, 2, value);\n};\n\n\n/**\n * optional string remote_pending_txid = 3;\n * @return {string}\n */\nproto.lnrpc.PendingChannelsResponse.Commitments.prototype.getRemotePendingTxid = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/** @param {string} value */\nproto.lnrpc.PendingChannelsResponse.Commitments.prototype.setRemotePendingTxid = function(value) {\n jspb.Message.setField(this, 3, value);\n};\n\n\n/**\n * optional uint64 local_commit_fee_sat = 4;\n * @return {number}\n */\nproto.lnrpc.PendingChannelsResponse.Commitments.prototype.getLocalCommitFeeSat = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.PendingChannelsResponse.Commitments.prototype.setLocalCommitFeeSat = function(value) {\n jspb.Message.setField(this, 4, value);\n};\n\n\n/**\n * optional uint64 remote_commit_fee_sat = 5;\n * @return {number}\n */\nproto.lnrpc.PendingChannelsResponse.Commitments.prototype.getRemoteCommitFeeSat = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 5, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.PendingChannelsResponse.Commitments.prototype.setRemoteCommitFeeSat = function(value) {\n jspb.Message.setField(this, 5, value);\n};\n\n\n/**\n * optional uint64 remote_pending_commit_fee_sat = 6;\n * @return {number}\n */\nproto.lnrpc.PendingChannelsResponse.Commitments.prototype.getRemotePendingCommitFeeSat = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 6, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.PendingChannelsResponse.Commitments.prototype.setRemotePendingCommitFeeSat = function(value) {\n jspb.Message.setField(this, 6, value);\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.lnrpc.PendingChannelsResponse.ClosedChannel = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.lnrpc.PendingChannelsResponse.ClosedChannel, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.lnrpc.PendingChannelsResponse.ClosedChannel.displayName = 'proto.lnrpc.PendingChannelsResponse.ClosedChannel';\n}\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.lnrpc.PendingChannelsResponse.ClosedChannel.prototype.toObject = function(opt_includeInstance) {\n return proto.lnrpc.PendingChannelsResponse.ClosedChannel.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.lnrpc.PendingChannelsResponse.ClosedChannel} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.PendingChannelsResponse.ClosedChannel.toObject = function(includeInstance, msg) {\n var f, obj = {\n channel: (f = msg.getChannel()) && proto.lnrpc.PendingChannelsResponse.PendingChannel.toObject(includeInstance, f),\n closingTxid: jspb.Message.getFieldWithDefault(msg, 2, \"\")\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.lnrpc.PendingChannelsResponse.ClosedChannel}\n */\nproto.lnrpc.PendingChannelsResponse.ClosedChannel.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.lnrpc.PendingChannelsResponse.ClosedChannel;\n return proto.lnrpc.PendingChannelsResponse.ClosedChannel.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.lnrpc.PendingChannelsResponse.ClosedChannel} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.lnrpc.PendingChannelsResponse.ClosedChannel}\n */\nproto.lnrpc.PendingChannelsResponse.ClosedChannel.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = new proto.lnrpc.PendingChannelsResponse.PendingChannel;\n reader.readMessage(value,proto.lnrpc.PendingChannelsResponse.PendingChannel.deserializeBinaryFromReader);\n msg.setChannel(value);\n break;\n case 2:\n var value = /** @type {string} */ (reader.readString());\n msg.setClosingTxid(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.lnrpc.PendingChannelsResponse.ClosedChannel.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.lnrpc.PendingChannelsResponse.ClosedChannel.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.lnrpc.PendingChannelsResponse.ClosedChannel} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.PendingChannelsResponse.ClosedChannel.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getChannel();\n if (f != null) {\n writer.writeMessage(\n 1,\n f,\n proto.lnrpc.PendingChannelsResponse.PendingChannel.serializeBinaryToWriter\n );\n }\n f = message.getClosingTxid();\n if (f.length > 0) {\n writer.writeString(\n 2,\n f\n );\n }\n};\n\n\n/**\n * optional PendingChannel channel = 1;\n * @return {?proto.lnrpc.PendingChannelsResponse.PendingChannel}\n */\nproto.lnrpc.PendingChannelsResponse.ClosedChannel.prototype.getChannel = function() {\n return /** @type{?proto.lnrpc.PendingChannelsResponse.PendingChannel} */ (\n jspb.Message.getWrapperField(this, proto.lnrpc.PendingChannelsResponse.PendingChannel, 1));\n};\n\n\n/** @param {?proto.lnrpc.PendingChannelsResponse.PendingChannel|undefined} value */\nproto.lnrpc.PendingChannelsResponse.ClosedChannel.prototype.setChannel = function(value) {\n jspb.Message.setWrapperField(this, 1, value);\n};\n\n\nproto.lnrpc.PendingChannelsResponse.ClosedChannel.prototype.clearChannel = function() {\n this.setChannel(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {!boolean}\n */\nproto.lnrpc.PendingChannelsResponse.ClosedChannel.prototype.hasChannel = function() {\n return jspb.Message.getField(this, 1) != null;\n};\n\n\n/**\n * optional string closing_txid = 2;\n * @return {string}\n */\nproto.lnrpc.PendingChannelsResponse.ClosedChannel.prototype.getClosingTxid = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/** @param {string} value */\nproto.lnrpc.PendingChannelsResponse.ClosedChannel.prototype.setClosingTxid = function(value) {\n jspb.Message.setField(this, 2, value);\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.lnrpc.PendingChannelsResponse.ForceClosedChannel = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, proto.lnrpc.PendingChannelsResponse.ForceClosedChannel.repeatedFields_, null);\n};\ngoog.inherits(proto.lnrpc.PendingChannelsResponse.ForceClosedChannel, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.lnrpc.PendingChannelsResponse.ForceClosedChannel.displayName = 'proto.lnrpc.PendingChannelsResponse.ForceClosedChannel';\n}\n/**\n * List of repeated fields within this message type.\n * @private {!Array}\n * @const\n */\nproto.lnrpc.PendingChannelsResponse.ForceClosedChannel.repeatedFields_ = [8];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.lnrpc.PendingChannelsResponse.ForceClosedChannel.prototype.toObject = function(opt_includeInstance) {\n return proto.lnrpc.PendingChannelsResponse.ForceClosedChannel.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.lnrpc.PendingChannelsResponse.ForceClosedChannel} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.PendingChannelsResponse.ForceClosedChannel.toObject = function(includeInstance, msg) {\n var f, obj = {\n channel: (f = msg.getChannel()) && proto.lnrpc.PendingChannelsResponse.PendingChannel.toObject(includeInstance, f),\n closingTxid: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n limboBalance: jspb.Message.getFieldWithDefault(msg, 3, 0),\n maturityHeight: jspb.Message.getFieldWithDefault(msg, 4, 0),\n blocksTilMaturity: jspb.Message.getFieldWithDefault(msg, 5, 0),\n recoveredBalance: jspb.Message.getFieldWithDefault(msg, 6, 0),\n pendingHtlcsList: jspb.Message.toObjectList(msg.getPendingHtlcsList(),\n proto.lnrpc.PendingHTLC.toObject, includeInstance),\n anchor: jspb.Message.getFieldWithDefault(msg, 9, 0)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.lnrpc.PendingChannelsResponse.ForceClosedChannel}\n */\nproto.lnrpc.PendingChannelsResponse.ForceClosedChannel.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.lnrpc.PendingChannelsResponse.ForceClosedChannel;\n return proto.lnrpc.PendingChannelsResponse.ForceClosedChannel.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.lnrpc.PendingChannelsResponse.ForceClosedChannel} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.lnrpc.PendingChannelsResponse.ForceClosedChannel}\n */\nproto.lnrpc.PendingChannelsResponse.ForceClosedChannel.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = new proto.lnrpc.PendingChannelsResponse.PendingChannel;\n reader.readMessage(value,proto.lnrpc.PendingChannelsResponse.PendingChannel.deserializeBinaryFromReader);\n msg.setChannel(value);\n break;\n case 2:\n var value = /** @type {string} */ (reader.readString());\n msg.setClosingTxid(value);\n break;\n case 3:\n var value = /** @type {number} */ (reader.readInt64());\n msg.setLimboBalance(value);\n break;\n case 4:\n var value = /** @type {number} */ (reader.readUint32());\n msg.setMaturityHeight(value);\n break;\n case 5:\n var value = /** @type {number} */ (reader.readInt32());\n msg.setBlocksTilMaturity(value);\n break;\n case 6:\n var value = /** @type {number} */ (reader.readInt64());\n msg.setRecoveredBalance(value);\n break;\n case 8:\n var value = new proto.lnrpc.PendingHTLC;\n reader.readMessage(value,proto.lnrpc.PendingHTLC.deserializeBinaryFromReader);\n msg.addPendingHtlcs(value);\n break;\n case 9:\n var value = /** @type {!proto.lnrpc.PendingChannelsResponse.ForceClosedChannel.AnchorState} */ (reader.readEnum());\n msg.setAnchor(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.lnrpc.PendingChannelsResponse.ForceClosedChannel.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.lnrpc.PendingChannelsResponse.ForceClosedChannel.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.lnrpc.PendingChannelsResponse.ForceClosedChannel} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.PendingChannelsResponse.ForceClosedChannel.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getChannel();\n if (f != null) {\n writer.writeMessage(\n 1,\n f,\n proto.lnrpc.PendingChannelsResponse.PendingChannel.serializeBinaryToWriter\n );\n }\n f = message.getClosingTxid();\n if (f.length > 0) {\n writer.writeString(\n 2,\n f\n );\n }\n f = message.getLimboBalance();\n if (f !== 0) {\n writer.writeInt64(\n 3,\n f\n );\n }\n f = message.getMaturityHeight();\n if (f !== 0) {\n writer.writeUint32(\n 4,\n f\n );\n }\n f = message.getBlocksTilMaturity();\n if (f !== 0) {\n writer.writeInt32(\n 5,\n f\n );\n }\n f = message.getRecoveredBalance();\n if (f !== 0) {\n writer.writeInt64(\n 6,\n f\n );\n }\n f = message.getPendingHtlcsList();\n if (f.length > 0) {\n writer.writeRepeatedMessage(\n 8,\n f,\n proto.lnrpc.PendingHTLC.serializeBinaryToWriter\n );\n }\n f = message.getAnchor();\n if (f !== 0.0) {\n writer.writeEnum(\n 9,\n f\n );\n }\n};\n\n\n/**\n * @enum {number}\n */\nproto.lnrpc.PendingChannelsResponse.ForceClosedChannel.AnchorState = {\n LIMBO: 0,\n RECOVERED: 1,\n LOST: 2\n};\n\n/**\n * optional PendingChannel channel = 1;\n * @return {?proto.lnrpc.PendingChannelsResponse.PendingChannel}\n */\nproto.lnrpc.PendingChannelsResponse.ForceClosedChannel.prototype.getChannel = function() {\n return /** @type{?proto.lnrpc.PendingChannelsResponse.PendingChannel} */ (\n jspb.Message.getWrapperField(this, proto.lnrpc.PendingChannelsResponse.PendingChannel, 1));\n};\n\n\n/** @param {?proto.lnrpc.PendingChannelsResponse.PendingChannel|undefined} value */\nproto.lnrpc.PendingChannelsResponse.ForceClosedChannel.prototype.setChannel = function(value) {\n jspb.Message.setWrapperField(this, 1, value);\n};\n\n\nproto.lnrpc.PendingChannelsResponse.ForceClosedChannel.prototype.clearChannel = function() {\n this.setChannel(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {!boolean}\n */\nproto.lnrpc.PendingChannelsResponse.ForceClosedChannel.prototype.hasChannel = function() {\n return jspb.Message.getField(this, 1) != null;\n};\n\n\n/**\n * optional string closing_txid = 2;\n * @return {string}\n */\nproto.lnrpc.PendingChannelsResponse.ForceClosedChannel.prototype.getClosingTxid = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/** @param {string} value */\nproto.lnrpc.PendingChannelsResponse.ForceClosedChannel.prototype.setClosingTxid = function(value) {\n jspb.Message.setField(this, 2, value);\n};\n\n\n/**\n * optional int64 limbo_balance = 3;\n * @return {number}\n */\nproto.lnrpc.PendingChannelsResponse.ForceClosedChannel.prototype.getLimboBalance = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.PendingChannelsResponse.ForceClosedChannel.prototype.setLimboBalance = function(value) {\n jspb.Message.setField(this, 3, value);\n};\n\n\n/**\n * optional uint32 maturity_height = 4;\n * @return {number}\n */\nproto.lnrpc.PendingChannelsResponse.ForceClosedChannel.prototype.getMaturityHeight = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.PendingChannelsResponse.ForceClosedChannel.prototype.setMaturityHeight = function(value) {\n jspb.Message.setField(this, 4, value);\n};\n\n\n/**\n * optional int32 blocks_til_maturity = 5;\n * @return {number}\n */\nproto.lnrpc.PendingChannelsResponse.ForceClosedChannel.prototype.getBlocksTilMaturity = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 5, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.PendingChannelsResponse.ForceClosedChannel.prototype.setBlocksTilMaturity = function(value) {\n jspb.Message.setField(this, 5, value);\n};\n\n\n/**\n * optional int64 recovered_balance = 6;\n * @return {number}\n */\nproto.lnrpc.PendingChannelsResponse.ForceClosedChannel.prototype.getRecoveredBalance = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 6, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.PendingChannelsResponse.ForceClosedChannel.prototype.setRecoveredBalance = function(value) {\n jspb.Message.setField(this, 6, value);\n};\n\n\n/**\n * repeated PendingHTLC pending_htlcs = 8;\n * @return {!Array.}\n */\nproto.lnrpc.PendingChannelsResponse.ForceClosedChannel.prototype.getPendingHtlcsList = function() {\n return /** @type{!Array.} */ (\n jspb.Message.getRepeatedWrapperField(this, proto.lnrpc.PendingHTLC, 8));\n};\n\n\n/** @param {!Array.} value */\nproto.lnrpc.PendingChannelsResponse.ForceClosedChannel.prototype.setPendingHtlcsList = function(value) {\n jspb.Message.setRepeatedWrapperField(this, 8, value);\n};\n\n\n/**\n * @param {!proto.lnrpc.PendingHTLC=} opt_value\n * @param {number=} opt_index\n * @return {!proto.lnrpc.PendingHTLC}\n */\nproto.lnrpc.PendingChannelsResponse.ForceClosedChannel.prototype.addPendingHtlcs = function(opt_value, opt_index) {\n return jspb.Message.addToRepeatedWrapperField(this, 8, opt_value, proto.lnrpc.PendingHTLC, opt_index);\n};\n\n\nproto.lnrpc.PendingChannelsResponse.ForceClosedChannel.prototype.clearPendingHtlcsList = function() {\n this.setPendingHtlcsList([]);\n};\n\n\n/**\n * optional AnchorState anchor = 9;\n * @return {!proto.lnrpc.PendingChannelsResponse.ForceClosedChannel.AnchorState}\n */\nproto.lnrpc.PendingChannelsResponse.ForceClosedChannel.prototype.getAnchor = function() {\n return /** @type {!proto.lnrpc.PendingChannelsResponse.ForceClosedChannel.AnchorState} */ (jspb.Message.getFieldWithDefault(this, 9, 0));\n};\n\n\n/** @param {!proto.lnrpc.PendingChannelsResponse.ForceClosedChannel.AnchorState} value */\nproto.lnrpc.PendingChannelsResponse.ForceClosedChannel.prototype.setAnchor = function(value) {\n jspb.Message.setField(this, 9, value);\n};\n\n\n/**\n * optional int64 total_limbo_balance = 1;\n * @return {number}\n */\nproto.lnrpc.PendingChannelsResponse.prototype.getTotalLimboBalance = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.PendingChannelsResponse.prototype.setTotalLimboBalance = function(value) {\n jspb.Message.setField(this, 1, value);\n};\n\n\n/**\n * repeated PendingOpenChannel pending_open_channels = 2;\n * @return {!Array.}\n */\nproto.lnrpc.PendingChannelsResponse.prototype.getPendingOpenChannelsList = function() {\n return /** @type{!Array.} */ (\n jspb.Message.getRepeatedWrapperField(this, proto.lnrpc.PendingChannelsResponse.PendingOpenChannel, 2));\n};\n\n\n/** @param {!Array.} value */\nproto.lnrpc.PendingChannelsResponse.prototype.setPendingOpenChannelsList = function(value) {\n jspb.Message.setRepeatedWrapperField(this, 2, value);\n};\n\n\n/**\n * @param {!proto.lnrpc.PendingChannelsResponse.PendingOpenChannel=} opt_value\n * @param {number=} opt_index\n * @return {!proto.lnrpc.PendingChannelsResponse.PendingOpenChannel}\n */\nproto.lnrpc.PendingChannelsResponse.prototype.addPendingOpenChannels = function(opt_value, opt_index) {\n return jspb.Message.addToRepeatedWrapperField(this, 2, opt_value, proto.lnrpc.PendingChannelsResponse.PendingOpenChannel, opt_index);\n};\n\n\nproto.lnrpc.PendingChannelsResponse.prototype.clearPendingOpenChannelsList = function() {\n this.setPendingOpenChannelsList([]);\n};\n\n\n/**\n * repeated ClosedChannel pending_closing_channels = 3;\n * @return {!Array.}\n */\nproto.lnrpc.PendingChannelsResponse.prototype.getPendingClosingChannelsList = function() {\n return /** @type{!Array.} */ (\n jspb.Message.getRepeatedWrapperField(this, proto.lnrpc.PendingChannelsResponse.ClosedChannel, 3));\n};\n\n\n/** @param {!Array.} value */\nproto.lnrpc.PendingChannelsResponse.prototype.setPendingClosingChannelsList = function(value) {\n jspb.Message.setRepeatedWrapperField(this, 3, value);\n};\n\n\n/**\n * @param {!proto.lnrpc.PendingChannelsResponse.ClosedChannel=} opt_value\n * @param {number=} opt_index\n * @return {!proto.lnrpc.PendingChannelsResponse.ClosedChannel}\n */\nproto.lnrpc.PendingChannelsResponse.prototype.addPendingClosingChannels = function(opt_value, opt_index) {\n return jspb.Message.addToRepeatedWrapperField(this, 3, opt_value, proto.lnrpc.PendingChannelsResponse.ClosedChannel, opt_index);\n};\n\n\nproto.lnrpc.PendingChannelsResponse.prototype.clearPendingClosingChannelsList = function() {\n this.setPendingClosingChannelsList([]);\n};\n\n\n/**\n * repeated ForceClosedChannel pending_force_closing_channels = 4;\n * @return {!Array.}\n */\nproto.lnrpc.PendingChannelsResponse.prototype.getPendingForceClosingChannelsList = function() {\n return /** @type{!Array.} */ (\n jspb.Message.getRepeatedWrapperField(this, proto.lnrpc.PendingChannelsResponse.ForceClosedChannel, 4));\n};\n\n\n/** @param {!Array.} value */\nproto.lnrpc.PendingChannelsResponse.prototype.setPendingForceClosingChannelsList = function(value) {\n jspb.Message.setRepeatedWrapperField(this, 4, value);\n};\n\n\n/**\n * @param {!proto.lnrpc.PendingChannelsResponse.ForceClosedChannel=} opt_value\n * @param {number=} opt_index\n * @return {!proto.lnrpc.PendingChannelsResponse.ForceClosedChannel}\n */\nproto.lnrpc.PendingChannelsResponse.prototype.addPendingForceClosingChannels = function(opt_value, opt_index) {\n return jspb.Message.addToRepeatedWrapperField(this, 4, opt_value, proto.lnrpc.PendingChannelsResponse.ForceClosedChannel, opt_index);\n};\n\n\nproto.lnrpc.PendingChannelsResponse.prototype.clearPendingForceClosingChannelsList = function() {\n this.setPendingForceClosingChannelsList([]);\n};\n\n\n/**\n * repeated WaitingCloseChannel waiting_close_channels = 5;\n * @return {!Array.}\n */\nproto.lnrpc.PendingChannelsResponse.prototype.getWaitingCloseChannelsList = function() {\n return /** @type{!Array.} */ (\n jspb.Message.getRepeatedWrapperField(this, proto.lnrpc.PendingChannelsResponse.WaitingCloseChannel, 5));\n};\n\n\n/** @param {!Array.} value */\nproto.lnrpc.PendingChannelsResponse.prototype.setWaitingCloseChannelsList = function(value) {\n jspb.Message.setRepeatedWrapperField(this, 5, value);\n};\n\n\n/**\n * @param {!proto.lnrpc.PendingChannelsResponse.WaitingCloseChannel=} opt_value\n * @param {number=} opt_index\n * @return {!proto.lnrpc.PendingChannelsResponse.WaitingCloseChannel}\n */\nproto.lnrpc.PendingChannelsResponse.prototype.addWaitingCloseChannels = function(opt_value, opt_index) {\n return jspb.Message.addToRepeatedWrapperField(this, 5, opt_value, proto.lnrpc.PendingChannelsResponse.WaitingCloseChannel, opt_index);\n};\n\n\nproto.lnrpc.PendingChannelsResponse.prototype.clearWaitingCloseChannelsList = function() {\n this.setWaitingCloseChannelsList([]);\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.lnrpc.ChannelEventSubscription = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.lnrpc.ChannelEventSubscription, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.lnrpc.ChannelEventSubscription.displayName = 'proto.lnrpc.ChannelEventSubscription';\n}\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.lnrpc.ChannelEventSubscription.prototype.toObject = function(opt_includeInstance) {\n return proto.lnrpc.ChannelEventSubscription.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.lnrpc.ChannelEventSubscription} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.ChannelEventSubscription.toObject = function(includeInstance, msg) {\n var f, obj = {\n\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.lnrpc.ChannelEventSubscription}\n */\nproto.lnrpc.ChannelEventSubscription.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.lnrpc.ChannelEventSubscription;\n return proto.lnrpc.ChannelEventSubscription.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.lnrpc.ChannelEventSubscription} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.lnrpc.ChannelEventSubscription}\n */\nproto.lnrpc.ChannelEventSubscription.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.lnrpc.ChannelEventSubscription.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.lnrpc.ChannelEventSubscription.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.lnrpc.ChannelEventSubscription} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.ChannelEventSubscription.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.lnrpc.ChannelEventUpdate = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, proto.lnrpc.ChannelEventUpdate.oneofGroups_);\n};\ngoog.inherits(proto.lnrpc.ChannelEventUpdate, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.lnrpc.ChannelEventUpdate.displayName = 'proto.lnrpc.ChannelEventUpdate';\n}\n/**\n * Oneof group definitions for this message. Each group defines the field\n * numbers belonging to that group. When of these fields' value is set, all\n * other fields in the group are cleared. During deserialization, if multiple\n * fields are encountered for a group, only the last value seen will be kept.\n * @private {!Array>}\n * @const\n */\nproto.lnrpc.ChannelEventUpdate.oneofGroups_ = [[1,2,3,4,6]];\n\n/**\n * @enum {number}\n */\nproto.lnrpc.ChannelEventUpdate.ChannelCase = {\n CHANNEL_NOT_SET: 0,\n OPEN_CHANNEL: 1,\n CLOSED_CHANNEL: 2,\n ACTIVE_CHANNEL: 3,\n INACTIVE_CHANNEL: 4,\n PENDING_OPEN_CHANNEL: 6\n};\n\n/**\n * @return {proto.lnrpc.ChannelEventUpdate.ChannelCase}\n */\nproto.lnrpc.ChannelEventUpdate.prototype.getChannelCase = function() {\n return /** @type {proto.lnrpc.ChannelEventUpdate.ChannelCase} */(jspb.Message.computeOneofCase(this, proto.lnrpc.ChannelEventUpdate.oneofGroups_[0]));\n};\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.lnrpc.ChannelEventUpdate.prototype.toObject = function(opt_includeInstance) {\n return proto.lnrpc.ChannelEventUpdate.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.lnrpc.ChannelEventUpdate} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.ChannelEventUpdate.toObject = function(includeInstance, msg) {\n var f, obj = {\n openChannel: (f = msg.getOpenChannel()) && proto.lnrpc.Channel.toObject(includeInstance, f),\n closedChannel: (f = msg.getClosedChannel()) && proto.lnrpc.ChannelCloseSummary.toObject(includeInstance, f),\n activeChannel: (f = msg.getActiveChannel()) && proto.lnrpc.ChannelPoint.toObject(includeInstance, f),\n inactiveChannel: (f = msg.getInactiveChannel()) && proto.lnrpc.ChannelPoint.toObject(includeInstance, f),\n pendingOpenChannel: (f = msg.getPendingOpenChannel()) && proto.lnrpc.PendingUpdate.toObject(includeInstance, f),\n type: jspb.Message.getFieldWithDefault(msg, 5, 0)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.lnrpc.ChannelEventUpdate}\n */\nproto.lnrpc.ChannelEventUpdate.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.lnrpc.ChannelEventUpdate;\n return proto.lnrpc.ChannelEventUpdate.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.lnrpc.ChannelEventUpdate} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.lnrpc.ChannelEventUpdate}\n */\nproto.lnrpc.ChannelEventUpdate.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = new proto.lnrpc.Channel;\n reader.readMessage(value,proto.lnrpc.Channel.deserializeBinaryFromReader);\n msg.setOpenChannel(value);\n break;\n case 2:\n var value = new proto.lnrpc.ChannelCloseSummary;\n reader.readMessage(value,proto.lnrpc.ChannelCloseSummary.deserializeBinaryFromReader);\n msg.setClosedChannel(value);\n break;\n case 3:\n var value = new proto.lnrpc.ChannelPoint;\n reader.readMessage(value,proto.lnrpc.ChannelPoint.deserializeBinaryFromReader);\n msg.setActiveChannel(value);\n break;\n case 4:\n var value = new proto.lnrpc.ChannelPoint;\n reader.readMessage(value,proto.lnrpc.ChannelPoint.deserializeBinaryFromReader);\n msg.setInactiveChannel(value);\n break;\n case 6:\n var value = new proto.lnrpc.PendingUpdate;\n reader.readMessage(value,proto.lnrpc.PendingUpdate.deserializeBinaryFromReader);\n msg.setPendingOpenChannel(value);\n break;\n case 5:\n var value = /** @type {!proto.lnrpc.ChannelEventUpdate.UpdateType} */ (reader.readEnum());\n msg.setType(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.lnrpc.ChannelEventUpdate.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.lnrpc.ChannelEventUpdate.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.lnrpc.ChannelEventUpdate} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.ChannelEventUpdate.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getOpenChannel();\n if (f != null) {\n writer.writeMessage(\n 1,\n f,\n proto.lnrpc.Channel.serializeBinaryToWriter\n );\n }\n f = message.getClosedChannel();\n if (f != null) {\n writer.writeMessage(\n 2,\n f,\n proto.lnrpc.ChannelCloseSummary.serializeBinaryToWriter\n );\n }\n f = message.getActiveChannel();\n if (f != null) {\n writer.writeMessage(\n 3,\n f,\n proto.lnrpc.ChannelPoint.serializeBinaryToWriter\n );\n }\n f = message.getInactiveChannel();\n if (f != null) {\n writer.writeMessage(\n 4,\n f,\n proto.lnrpc.ChannelPoint.serializeBinaryToWriter\n );\n }\n f = message.getPendingOpenChannel();\n if (f != null) {\n writer.writeMessage(\n 6,\n f,\n proto.lnrpc.PendingUpdate.serializeBinaryToWriter\n );\n }\n f = message.getType();\n if (f !== 0.0) {\n writer.writeEnum(\n 5,\n f\n );\n }\n};\n\n\n/**\n * @enum {number}\n */\nproto.lnrpc.ChannelEventUpdate.UpdateType = {\n OPEN_CHANNEL: 0,\n CLOSED_CHANNEL: 1,\n ACTIVE_CHANNEL: 2,\n INACTIVE_CHANNEL: 3,\n PENDING_OPEN_CHANNEL: 4\n};\n\n/**\n * optional Channel open_channel = 1;\n * @return {?proto.lnrpc.Channel}\n */\nproto.lnrpc.ChannelEventUpdate.prototype.getOpenChannel = function() {\n return /** @type{?proto.lnrpc.Channel} */ (\n jspb.Message.getWrapperField(this, proto.lnrpc.Channel, 1));\n};\n\n\n/** @param {?proto.lnrpc.Channel|undefined} value */\nproto.lnrpc.ChannelEventUpdate.prototype.setOpenChannel = function(value) {\n jspb.Message.setOneofWrapperField(this, 1, proto.lnrpc.ChannelEventUpdate.oneofGroups_[0], value);\n};\n\n\nproto.lnrpc.ChannelEventUpdate.prototype.clearOpenChannel = function() {\n this.setOpenChannel(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {!boolean}\n */\nproto.lnrpc.ChannelEventUpdate.prototype.hasOpenChannel = function() {\n return jspb.Message.getField(this, 1) != null;\n};\n\n\n/**\n * optional ChannelCloseSummary closed_channel = 2;\n * @return {?proto.lnrpc.ChannelCloseSummary}\n */\nproto.lnrpc.ChannelEventUpdate.prototype.getClosedChannel = function() {\n return /** @type{?proto.lnrpc.ChannelCloseSummary} */ (\n jspb.Message.getWrapperField(this, proto.lnrpc.ChannelCloseSummary, 2));\n};\n\n\n/** @param {?proto.lnrpc.ChannelCloseSummary|undefined} value */\nproto.lnrpc.ChannelEventUpdate.prototype.setClosedChannel = function(value) {\n jspb.Message.setOneofWrapperField(this, 2, proto.lnrpc.ChannelEventUpdate.oneofGroups_[0], value);\n};\n\n\nproto.lnrpc.ChannelEventUpdate.prototype.clearClosedChannel = function() {\n this.setClosedChannel(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {!boolean}\n */\nproto.lnrpc.ChannelEventUpdate.prototype.hasClosedChannel = function() {\n return jspb.Message.getField(this, 2) != null;\n};\n\n\n/**\n * optional ChannelPoint active_channel = 3;\n * @return {?proto.lnrpc.ChannelPoint}\n */\nproto.lnrpc.ChannelEventUpdate.prototype.getActiveChannel = function() {\n return /** @type{?proto.lnrpc.ChannelPoint} */ (\n jspb.Message.getWrapperField(this, proto.lnrpc.ChannelPoint, 3));\n};\n\n\n/** @param {?proto.lnrpc.ChannelPoint|undefined} value */\nproto.lnrpc.ChannelEventUpdate.prototype.setActiveChannel = function(value) {\n jspb.Message.setOneofWrapperField(this, 3, proto.lnrpc.ChannelEventUpdate.oneofGroups_[0], value);\n};\n\n\nproto.lnrpc.ChannelEventUpdate.prototype.clearActiveChannel = function() {\n this.setActiveChannel(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {!boolean}\n */\nproto.lnrpc.ChannelEventUpdate.prototype.hasActiveChannel = function() {\n return jspb.Message.getField(this, 3) != null;\n};\n\n\n/**\n * optional ChannelPoint inactive_channel = 4;\n * @return {?proto.lnrpc.ChannelPoint}\n */\nproto.lnrpc.ChannelEventUpdate.prototype.getInactiveChannel = function() {\n return /** @type{?proto.lnrpc.ChannelPoint} */ (\n jspb.Message.getWrapperField(this, proto.lnrpc.ChannelPoint, 4));\n};\n\n\n/** @param {?proto.lnrpc.ChannelPoint|undefined} value */\nproto.lnrpc.ChannelEventUpdate.prototype.setInactiveChannel = function(value) {\n jspb.Message.setOneofWrapperField(this, 4, proto.lnrpc.ChannelEventUpdate.oneofGroups_[0], value);\n};\n\n\nproto.lnrpc.ChannelEventUpdate.prototype.clearInactiveChannel = function() {\n this.setInactiveChannel(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {!boolean}\n */\nproto.lnrpc.ChannelEventUpdate.prototype.hasInactiveChannel = function() {\n return jspb.Message.getField(this, 4) != null;\n};\n\n\n/**\n * optional PendingUpdate pending_open_channel = 6;\n * @return {?proto.lnrpc.PendingUpdate}\n */\nproto.lnrpc.ChannelEventUpdate.prototype.getPendingOpenChannel = function() {\n return /** @type{?proto.lnrpc.PendingUpdate} */ (\n jspb.Message.getWrapperField(this, proto.lnrpc.PendingUpdate, 6));\n};\n\n\n/** @param {?proto.lnrpc.PendingUpdate|undefined} value */\nproto.lnrpc.ChannelEventUpdate.prototype.setPendingOpenChannel = function(value) {\n jspb.Message.setOneofWrapperField(this, 6, proto.lnrpc.ChannelEventUpdate.oneofGroups_[0], value);\n};\n\n\nproto.lnrpc.ChannelEventUpdate.prototype.clearPendingOpenChannel = function() {\n this.setPendingOpenChannel(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {!boolean}\n */\nproto.lnrpc.ChannelEventUpdate.prototype.hasPendingOpenChannel = function() {\n return jspb.Message.getField(this, 6) != null;\n};\n\n\n/**\n * optional UpdateType type = 5;\n * @return {!proto.lnrpc.ChannelEventUpdate.UpdateType}\n */\nproto.lnrpc.ChannelEventUpdate.prototype.getType = function() {\n return /** @type {!proto.lnrpc.ChannelEventUpdate.UpdateType} */ (jspb.Message.getFieldWithDefault(this, 5, 0));\n};\n\n\n/** @param {!proto.lnrpc.ChannelEventUpdate.UpdateType} value */\nproto.lnrpc.ChannelEventUpdate.prototype.setType = function(value) {\n jspb.Message.setField(this, 5, value);\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.lnrpc.WalletBalanceRequest = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.lnrpc.WalletBalanceRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.lnrpc.WalletBalanceRequest.displayName = 'proto.lnrpc.WalletBalanceRequest';\n}\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.lnrpc.WalletBalanceRequest.prototype.toObject = function(opt_includeInstance) {\n return proto.lnrpc.WalletBalanceRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.lnrpc.WalletBalanceRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.WalletBalanceRequest.toObject = function(includeInstance, msg) {\n var f, obj = {\n\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.lnrpc.WalletBalanceRequest}\n */\nproto.lnrpc.WalletBalanceRequest.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.lnrpc.WalletBalanceRequest;\n return proto.lnrpc.WalletBalanceRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.lnrpc.WalletBalanceRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.lnrpc.WalletBalanceRequest}\n */\nproto.lnrpc.WalletBalanceRequest.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.lnrpc.WalletBalanceRequest.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.lnrpc.WalletBalanceRequest.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.lnrpc.WalletBalanceRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.WalletBalanceRequest.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.lnrpc.WalletBalanceResponse = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.lnrpc.WalletBalanceResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.lnrpc.WalletBalanceResponse.displayName = 'proto.lnrpc.WalletBalanceResponse';\n}\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.lnrpc.WalletBalanceResponse.prototype.toObject = function(opt_includeInstance) {\n return proto.lnrpc.WalletBalanceResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.lnrpc.WalletBalanceResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.WalletBalanceResponse.toObject = function(includeInstance, msg) {\n var f, obj = {\n totalBalance: jspb.Message.getFieldWithDefault(msg, 1, 0),\n confirmedBalance: jspb.Message.getFieldWithDefault(msg, 2, 0),\n unconfirmedBalance: jspb.Message.getFieldWithDefault(msg, 3, 0)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.lnrpc.WalletBalanceResponse}\n */\nproto.lnrpc.WalletBalanceResponse.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.lnrpc.WalletBalanceResponse;\n return proto.lnrpc.WalletBalanceResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.lnrpc.WalletBalanceResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.lnrpc.WalletBalanceResponse}\n */\nproto.lnrpc.WalletBalanceResponse.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {number} */ (reader.readInt64());\n msg.setTotalBalance(value);\n break;\n case 2:\n var value = /** @type {number} */ (reader.readInt64());\n msg.setConfirmedBalance(value);\n break;\n case 3:\n var value = /** @type {number} */ (reader.readInt64());\n msg.setUnconfirmedBalance(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.lnrpc.WalletBalanceResponse.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.lnrpc.WalletBalanceResponse.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.lnrpc.WalletBalanceResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.WalletBalanceResponse.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getTotalBalance();\n if (f !== 0) {\n writer.writeInt64(\n 1,\n f\n );\n }\n f = message.getConfirmedBalance();\n if (f !== 0) {\n writer.writeInt64(\n 2,\n f\n );\n }\n f = message.getUnconfirmedBalance();\n if (f !== 0) {\n writer.writeInt64(\n 3,\n f\n );\n }\n};\n\n\n/**\n * optional int64 total_balance = 1;\n * @return {number}\n */\nproto.lnrpc.WalletBalanceResponse.prototype.getTotalBalance = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.WalletBalanceResponse.prototype.setTotalBalance = function(value) {\n jspb.Message.setField(this, 1, value);\n};\n\n\n/**\n * optional int64 confirmed_balance = 2;\n * @return {number}\n */\nproto.lnrpc.WalletBalanceResponse.prototype.getConfirmedBalance = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.WalletBalanceResponse.prototype.setConfirmedBalance = function(value) {\n jspb.Message.setField(this, 2, value);\n};\n\n\n/**\n * optional int64 unconfirmed_balance = 3;\n * @return {number}\n */\nproto.lnrpc.WalletBalanceResponse.prototype.getUnconfirmedBalance = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.WalletBalanceResponse.prototype.setUnconfirmedBalance = function(value) {\n jspb.Message.setField(this, 3, value);\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.lnrpc.ChannelBalanceRequest = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.lnrpc.ChannelBalanceRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.lnrpc.ChannelBalanceRequest.displayName = 'proto.lnrpc.ChannelBalanceRequest';\n}\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.lnrpc.ChannelBalanceRequest.prototype.toObject = function(opt_includeInstance) {\n return proto.lnrpc.ChannelBalanceRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.lnrpc.ChannelBalanceRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.ChannelBalanceRequest.toObject = function(includeInstance, msg) {\n var f, obj = {\n\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.lnrpc.ChannelBalanceRequest}\n */\nproto.lnrpc.ChannelBalanceRequest.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.lnrpc.ChannelBalanceRequest;\n return proto.lnrpc.ChannelBalanceRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.lnrpc.ChannelBalanceRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.lnrpc.ChannelBalanceRequest}\n */\nproto.lnrpc.ChannelBalanceRequest.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.lnrpc.ChannelBalanceRequest.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.lnrpc.ChannelBalanceRequest.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.lnrpc.ChannelBalanceRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.ChannelBalanceRequest.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.lnrpc.ChannelBalanceResponse = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.lnrpc.ChannelBalanceResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.lnrpc.ChannelBalanceResponse.displayName = 'proto.lnrpc.ChannelBalanceResponse';\n}\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.lnrpc.ChannelBalanceResponse.prototype.toObject = function(opt_includeInstance) {\n return proto.lnrpc.ChannelBalanceResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.lnrpc.ChannelBalanceResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.ChannelBalanceResponse.toObject = function(includeInstance, msg) {\n var f, obj = {\n balance: jspb.Message.getFieldWithDefault(msg, 1, 0),\n pendingOpenBalance: jspb.Message.getFieldWithDefault(msg, 2, 0)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.lnrpc.ChannelBalanceResponse}\n */\nproto.lnrpc.ChannelBalanceResponse.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.lnrpc.ChannelBalanceResponse;\n return proto.lnrpc.ChannelBalanceResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.lnrpc.ChannelBalanceResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.lnrpc.ChannelBalanceResponse}\n */\nproto.lnrpc.ChannelBalanceResponse.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {number} */ (reader.readInt64());\n msg.setBalance(value);\n break;\n case 2:\n var value = /** @type {number} */ (reader.readInt64());\n msg.setPendingOpenBalance(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.lnrpc.ChannelBalanceResponse.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.lnrpc.ChannelBalanceResponse.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.lnrpc.ChannelBalanceResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.ChannelBalanceResponse.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getBalance();\n if (f !== 0) {\n writer.writeInt64(\n 1,\n f\n );\n }\n f = message.getPendingOpenBalance();\n if (f !== 0) {\n writer.writeInt64(\n 2,\n f\n );\n }\n};\n\n\n/**\n * optional int64 balance = 1;\n * @return {number}\n */\nproto.lnrpc.ChannelBalanceResponse.prototype.getBalance = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.ChannelBalanceResponse.prototype.setBalance = function(value) {\n jspb.Message.setField(this, 1, value);\n};\n\n\n/**\n * optional int64 pending_open_balance = 2;\n * @return {number}\n */\nproto.lnrpc.ChannelBalanceResponse.prototype.getPendingOpenBalance = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.ChannelBalanceResponse.prototype.setPendingOpenBalance = function(value) {\n jspb.Message.setField(this, 2, value);\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.lnrpc.QueryRoutesRequest = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, proto.lnrpc.QueryRoutesRequest.repeatedFields_, null);\n};\ngoog.inherits(proto.lnrpc.QueryRoutesRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.lnrpc.QueryRoutesRequest.displayName = 'proto.lnrpc.QueryRoutesRequest';\n}\n/**\n * List of repeated fields within this message type.\n * @private {!Array}\n * @const\n */\nproto.lnrpc.QueryRoutesRequest.repeatedFields_ = [6,7,10,16,17];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.lnrpc.QueryRoutesRequest.prototype.toObject = function(opt_includeInstance) {\n return proto.lnrpc.QueryRoutesRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.lnrpc.QueryRoutesRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.QueryRoutesRequest.toObject = function(includeInstance, msg) {\n var f, obj = {\n pubKey: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n amt: jspb.Message.getFieldWithDefault(msg, 2, 0),\n amtMsat: jspb.Message.getFieldWithDefault(msg, 12, 0),\n finalCltvDelta: jspb.Message.getFieldWithDefault(msg, 4, 0),\n feeLimit: (f = msg.getFeeLimit()) && proto.lnrpc.FeeLimit.toObject(includeInstance, f),\n ignoredNodesList: msg.getIgnoredNodesList_asB64(),\n ignoredEdgesList: jspb.Message.toObjectList(msg.getIgnoredEdgesList(),\n proto.lnrpc.EdgeLocator.toObject, includeInstance),\n sourcePubKey: jspb.Message.getFieldWithDefault(msg, 8, \"\"),\n useMissionControl: jspb.Message.getFieldWithDefault(msg, 9, false),\n ignoredPairsList: jspb.Message.toObjectList(msg.getIgnoredPairsList(),\n proto.lnrpc.NodePair.toObject, includeInstance),\n cltvLimit: jspb.Message.getFieldWithDefault(msg, 11, 0),\n destCustomRecordsMap: (f = msg.getDestCustomRecordsMap()) ? f.toObject(includeInstance, undefined) : [],\n outgoingChanId: jspb.Message.getFieldWithDefault(msg, 14, \"0\"),\n lastHopPubkey: msg.getLastHopPubkey_asB64(),\n routeHintsList: jspb.Message.toObjectList(msg.getRouteHintsList(),\n proto.lnrpc.RouteHint.toObject, includeInstance),\n destFeaturesList: jspb.Message.getRepeatedField(msg, 17)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.lnrpc.QueryRoutesRequest}\n */\nproto.lnrpc.QueryRoutesRequest.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.lnrpc.QueryRoutesRequest;\n return proto.lnrpc.QueryRoutesRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.lnrpc.QueryRoutesRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.lnrpc.QueryRoutesRequest}\n */\nproto.lnrpc.QueryRoutesRequest.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setPubKey(value);\n break;\n case 2:\n var value = /** @type {number} */ (reader.readInt64());\n msg.setAmt(value);\n break;\n case 12:\n var value = /** @type {number} */ (reader.readInt64());\n msg.setAmtMsat(value);\n break;\n case 4:\n var value = /** @type {number} */ (reader.readInt32());\n msg.setFinalCltvDelta(value);\n break;\n case 5:\n var value = new proto.lnrpc.FeeLimit;\n reader.readMessage(value,proto.lnrpc.FeeLimit.deserializeBinaryFromReader);\n msg.setFeeLimit(value);\n break;\n case 6:\n var value = /** @type {!Uint8Array} */ (reader.readBytes());\n msg.addIgnoredNodes(value);\n break;\n case 7:\n var value = new proto.lnrpc.EdgeLocator;\n reader.readMessage(value,proto.lnrpc.EdgeLocator.deserializeBinaryFromReader);\n msg.addIgnoredEdges(value);\n break;\n case 8:\n var value = /** @type {string} */ (reader.readString());\n msg.setSourcePubKey(value);\n break;\n case 9:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setUseMissionControl(value);\n break;\n case 10:\n var value = new proto.lnrpc.NodePair;\n reader.readMessage(value,proto.lnrpc.NodePair.deserializeBinaryFromReader);\n msg.addIgnoredPairs(value);\n break;\n case 11:\n var value = /** @type {number} */ (reader.readUint32());\n msg.setCltvLimit(value);\n break;\n case 13:\n var value = msg.getDestCustomRecordsMap();\n reader.readMessage(value, function(message, reader) {\n jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readUint64, jspb.BinaryReader.prototype.readBytes);\n });\n break;\n case 14:\n var value = /** @type {string} */ (reader.readUint64String());\n msg.setOutgoingChanId(value);\n break;\n case 15:\n var value = /** @type {!Uint8Array} */ (reader.readBytes());\n msg.setLastHopPubkey(value);\n break;\n case 16:\n var value = new proto.lnrpc.RouteHint;\n reader.readMessage(value,proto.lnrpc.RouteHint.deserializeBinaryFromReader);\n msg.addRouteHints(value);\n break;\n case 17:\n var value = /** @type {!Array.} */ (reader.readPackedEnum());\n msg.setDestFeaturesList(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.lnrpc.QueryRoutesRequest.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.lnrpc.QueryRoutesRequest.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.lnrpc.QueryRoutesRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.QueryRoutesRequest.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getPubKey();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n f = message.getAmt();\n if (f !== 0) {\n writer.writeInt64(\n 2,\n f\n );\n }\n f = message.getAmtMsat();\n if (f !== 0) {\n writer.writeInt64(\n 12,\n f\n );\n }\n f = message.getFinalCltvDelta();\n if (f !== 0) {\n writer.writeInt32(\n 4,\n f\n );\n }\n f = message.getFeeLimit();\n if (f != null) {\n writer.writeMessage(\n 5,\n f,\n proto.lnrpc.FeeLimit.serializeBinaryToWriter\n );\n }\n f = message.getIgnoredNodesList_asU8();\n if (f.length > 0) {\n writer.writeRepeatedBytes(\n 6,\n f\n );\n }\n f = message.getIgnoredEdgesList();\n if (f.length > 0) {\n writer.writeRepeatedMessage(\n 7,\n f,\n proto.lnrpc.EdgeLocator.serializeBinaryToWriter\n );\n }\n f = message.getSourcePubKey();\n if (f.length > 0) {\n writer.writeString(\n 8,\n f\n );\n }\n f = message.getUseMissionControl();\n if (f) {\n writer.writeBool(\n 9,\n f\n );\n }\n f = message.getIgnoredPairsList();\n if (f.length > 0) {\n writer.writeRepeatedMessage(\n 10,\n f,\n proto.lnrpc.NodePair.serializeBinaryToWriter\n );\n }\n f = message.getCltvLimit();\n if (f !== 0) {\n writer.writeUint32(\n 11,\n f\n );\n }\n f = message.getDestCustomRecordsMap(true);\n if (f && f.getLength() > 0) {\n f.serializeBinary(13, writer, jspb.BinaryWriter.prototype.writeUint64, jspb.BinaryWriter.prototype.writeBytes);\n }\n f = message.getOutgoingChanId();\n if (parseInt(f, 10) !== 0) {\n writer.writeUint64String(\n 14,\n f\n );\n }\n f = message.getLastHopPubkey_asU8();\n if (f.length > 0) {\n writer.writeBytes(\n 15,\n f\n );\n }\n f = message.getRouteHintsList();\n if (f.length > 0) {\n writer.writeRepeatedMessage(\n 16,\n f,\n proto.lnrpc.RouteHint.serializeBinaryToWriter\n );\n }\n f = message.getDestFeaturesList();\n if (f.length > 0) {\n writer.writePackedEnum(\n 17,\n f\n );\n }\n};\n\n\n/**\n * optional string pub_key = 1;\n * @return {string}\n */\nproto.lnrpc.QueryRoutesRequest.prototype.getPubKey = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/** @param {string} value */\nproto.lnrpc.QueryRoutesRequest.prototype.setPubKey = function(value) {\n jspb.Message.setField(this, 1, value);\n};\n\n\n/**\n * optional int64 amt = 2;\n * @return {number}\n */\nproto.lnrpc.QueryRoutesRequest.prototype.getAmt = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.QueryRoutesRequest.prototype.setAmt = function(value) {\n jspb.Message.setField(this, 2, value);\n};\n\n\n/**\n * optional int64 amt_msat = 12;\n * @return {number}\n */\nproto.lnrpc.QueryRoutesRequest.prototype.getAmtMsat = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 12, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.QueryRoutesRequest.prototype.setAmtMsat = function(value) {\n jspb.Message.setField(this, 12, value);\n};\n\n\n/**\n * optional int32 final_cltv_delta = 4;\n * @return {number}\n */\nproto.lnrpc.QueryRoutesRequest.prototype.getFinalCltvDelta = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.QueryRoutesRequest.prototype.setFinalCltvDelta = function(value) {\n jspb.Message.setField(this, 4, value);\n};\n\n\n/**\n * optional FeeLimit fee_limit = 5;\n * @return {?proto.lnrpc.FeeLimit}\n */\nproto.lnrpc.QueryRoutesRequest.prototype.getFeeLimit = function() {\n return /** @type{?proto.lnrpc.FeeLimit} */ (\n jspb.Message.getWrapperField(this, proto.lnrpc.FeeLimit, 5));\n};\n\n\n/** @param {?proto.lnrpc.FeeLimit|undefined} value */\nproto.lnrpc.QueryRoutesRequest.prototype.setFeeLimit = function(value) {\n jspb.Message.setWrapperField(this, 5, value);\n};\n\n\nproto.lnrpc.QueryRoutesRequest.prototype.clearFeeLimit = function() {\n this.setFeeLimit(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {!boolean}\n */\nproto.lnrpc.QueryRoutesRequest.prototype.hasFeeLimit = function() {\n return jspb.Message.getField(this, 5) != null;\n};\n\n\n/**\n * repeated bytes ignored_nodes = 6;\n * @return {!Array.}\n */\nproto.lnrpc.QueryRoutesRequest.prototype.getIgnoredNodesList = function() {\n return /** @type {!Array.} */ (jspb.Message.getRepeatedField(this, 6));\n};\n\n\n/**\n * repeated bytes ignored_nodes = 6;\n * This is a type-conversion wrapper around `getIgnoredNodesList()`\n * @return {!Array.}\n */\nproto.lnrpc.QueryRoutesRequest.prototype.getIgnoredNodesList_asB64 = function() {\n return /** @type {!Array.} */ (jspb.Message.bytesListAsB64(\n this.getIgnoredNodesList()));\n};\n\n\n/**\n * repeated bytes ignored_nodes = 6;\n * Note that Uint8Array is not supported on all browsers.\n * @see http://caniuse.com/Uint8Array\n * This is a type-conversion wrapper around `getIgnoredNodesList()`\n * @return {!Array.}\n */\nproto.lnrpc.QueryRoutesRequest.prototype.getIgnoredNodesList_asU8 = function() {\n return /** @type {!Array.} */ (jspb.Message.bytesListAsU8(\n this.getIgnoredNodesList()));\n};\n\n\n/** @param {!(Array|Array)} value */\nproto.lnrpc.QueryRoutesRequest.prototype.setIgnoredNodesList = function(value) {\n jspb.Message.setField(this, 6, value || []);\n};\n\n\n/**\n * @param {!(string|Uint8Array)} value\n * @param {number=} opt_index\n */\nproto.lnrpc.QueryRoutesRequest.prototype.addIgnoredNodes = function(value, opt_index) {\n jspb.Message.addToRepeatedField(this, 6, value, opt_index);\n};\n\n\nproto.lnrpc.QueryRoutesRequest.prototype.clearIgnoredNodesList = function() {\n this.setIgnoredNodesList([]);\n};\n\n\n/**\n * repeated EdgeLocator ignored_edges = 7;\n * @return {!Array.}\n */\nproto.lnrpc.QueryRoutesRequest.prototype.getIgnoredEdgesList = function() {\n return /** @type{!Array.} */ (\n jspb.Message.getRepeatedWrapperField(this, proto.lnrpc.EdgeLocator, 7));\n};\n\n\n/** @param {!Array.} value */\nproto.lnrpc.QueryRoutesRequest.prototype.setIgnoredEdgesList = function(value) {\n jspb.Message.setRepeatedWrapperField(this, 7, value);\n};\n\n\n/**\n * @param {!proto.lnrpc.EdgeLocator=} opt_value\n * @param {number=} opt_index\n * @return {!proto.lnrpc.EdgeLocator}\n */\nproto.lnrpc.QueryRoutesRequest.prototype.addIgnoredEdges = function(opt_value, opt_index) {\n return jspb.Message.addToRepeatedWrapperField(this, 7, opt_value, proto.lnrpc.EdgeLocator, opt_index);\n};\n\n\nproto.lnrpc.QueryRoutesRequest.prototype.clearIgnoredEdgesList = function() {\n this.setIgnoredEdgesList([]);\n};\n\n\n/**\n * optional string source_pub_key = 8;\n * @return {string}\n */\nproto.lnrpc.QueryRoutesRequest.prototype.getSourcePubKey = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 8, \"\"));\n};\n\n\n/** @param {string} value */\nproto.lnrpc.QueryRoutesRequest.prototype.setSourcePubKey = function(value) {\n jspb.Message.setField(this, 8, value);\n};\n\n\n/**\n * optional bool use_mission_control = 9;\n * Note that Boolean fields may be set to 0/1 when serialized from a Java server.\n * You should avoid comparisons like {@code val === true/false} in those cases.\n * @return {boolean}\n */\nproto.lnrpc.QueryRoutesRequest.prototype.getUseMissionControl = function() {\n return /** @type {boolean} */ (jspb.Message.getFieldWithDefault(this, 9, false));\n};\n\n\n/** @param {boolean} value */\nproto.lnrpc.QueryRoutesRequest.prototype.setUseMissionControl = function(value) {\n jspb.Message.setField(this, 9, value);\n};\n\n\n/**\n * repeated NodePair ignored_pairs = 10;\n * @return {!Array.}\n */\nproto.lnrpc.QueryRoutesRequest.prototype.getIgnoredPairsList = function() {\n return /** @type{!Array.} */ (\n jspb.Message.getRepeatedWrapperField(this, proto.lnrpc.NodePair, 10));\n};\n\n\n/** @param {!Array.} value */\nproto.lnrpc.QueryRoutesRequest.prototype.setIgnoredPairsList = function(value) {\n jspb.Message.setRepeatedWrapperField(this, 10, value);\n};\n\n\n/**\n * @param {!proto.lnrpc.NodePair=} opt_value\n * @param {number=} opt_index\n * @return {!proto.lnrpc.NodePair}\n */\nproto.lnrpc.QueryRoutesRequest.prototype.addIgnoredPairs = function(opt_value, opt_index) {\n return jspb.Message.addToRepeatedWrapperField(this, 10, opt_value, proto.lnrpc.NodePair, opt_index);\n};\n\n\nproto.lnrpc.QueryRoutesRequest.prototype.clearIgnoredPairsList = function() {\n this.setIgnoredPairsList([]);\n};\n\n\n/**\n * optional uint32 cltv_limit = 11;\n * @return {number}\n */\nproto.lnrpc.QueryRoutesRequest.prototype.getCltvLimit = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 11, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.QueryRoutesRequest.prototype.setCltvLimit = function(value) {\n jspb.Message.setField(this, 11, value);\n};\n\n\n/**\n * map dest_custom_records = 13;\n * @param {boolean=} opt_noLazyCreate Do not create the map if\n * empty, instead returning `undefined`\n * @return {!jspb.Map}\n */\nproto.lnrpc.QueryRoutesRequest.prototype.getDestCustomRecordsMap = function(opt_noLazyCreate) {\n return /** @type {!jspb.Map} */ (\n jspb.Message.getMapField(this, 13, opt_noLazyCreate,\n null));\n};\n\n\nproto.lnrpc.QueryRoutesRequest.prototype.clearDestCustomRecordsMap = function() {\n this.getDestCustomRecordsMap().clear();\n};\n\n\n/**\n * optional uint64 outgoing_chan_id = 14;\n * @return {string}\n */\nproto.lnrpc.QueryRoutesRequest.prototype.getOutgoingChanId = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 14, \"0\"));\n};\n\n\n/** @param {string} value */\nproto.lnrpc.QueryRoutesRequest.prototype.setOutgoingChanId = function(value) {\n jspb.Message.setField(this, 14, value);\n};\n\n\n/**\n * optional bytes last_hop_pubkey = 15;\n * @return {string}\n */\nproto.lnrpc.QueryRoutesRequest.prototype.getLastHopPubkey = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 15, \"\"));\n};\n\n\n/**\n * optional bytes last_hop_pubkey = 15;\n * This is a type-conversion wrapper around `getLastHopPubkey()`\n * @return {string}\n */\nproto.lnrpc.QueryRoutesRequest.prototype.getLastHopPubkey_asB64 = function() {\n return /** @type {string} */ (jspb.Message.bytesAsB64(\n this.getLastHopPubkey()));\n};\n\n\n/**\n * optional bytes last_hop_pubkey = 15;\n * Note that Uint8Array is not supported on all browsers.\n * @see http://caniuse.com/Uint8Array\n * This is a type-conversion wrapper around `getLastHopPubkey()`\n * @return {!Uint8Array}\n */\nproto.lnrpc.QueryRoutesRequest.prototype.getLastHopPubkey_asU8 = function() {\n return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(\n this.getLastHopPubkey()));\n};\n\n\n/** @param {!(string|Uint8Array)} value */\nproto.lnrpc.QueryRoutesRequest.prototype.setLastHopPubkey = function(value) {\n jspb.Message.setField(this, 15, value);\n};\n\n\n/**\n * repeated RouteHint route_hints = 16;\n * @return {!Array.}\n */\nproto.lnrpc.QueryRoutesRequest.prototype.getRouteHintsList = function() {\n return /** @type{!Array.} */ (\n jspb.Message.getRepeatedWrapperField(this, proto.lnrpc.RouteHint, 16));\n};\n\n\n/** @param {!Array.} value */\nproto.lnrpc.QueryRoutesRequest.prototype.setRouteHintsList = function(value) {\n jspb.Message.setRepeatedWrapperField(this, 16, value);\n};\n\n\n/**\n * @param {!proto.lnrpc.RouteHint=} opt_value\n * @param {number=} opt_index\n * @return {!proto.lnrpc.RouteHint}\n */\nproto.lnrpc.QueryRoutesRequest.prototype.addRouteHints = function(opt_value, opt_index) {\n return jspb.Message.addToRepeatedWrapperField(this, 16, opt_value, proto.lnrpc.RouteHint, opt_index);\n};\n\n\nproto.lnrpc.QueryRoutesRequest.prototype.clearRouteHintsList = function() {\n this.setRouteHintsList([]);\n};\n\n\n/**\n * repeated FeatureBit dest_features = 17;\n * @return {!Array.}\n */\nproto.lnrpc.QueryRoutesRequest.prototype.getDestFeaturesList = function() {\n return /** @type {!Array.} */ (jspb.Message.getRepeatedField(this, 17));\n};\n\n\n/** @param {!Array.} value */\nproto.lnrpc.QueryRoutesRequest.prototype.setDestFeaturesList = function(value) {\n jspb.Message.setField(this, 17, value || []);\n};\n\n\n/**\n * @param {!proto.lnrpc.FeatureBit} value\n * @param {number=} opt_index\n */\nproto.lnrpc.QueryRoutesRequest.prototype.addDestFeatures = function(value, opt_index) {\n jspb.Message.addToRepeatedField(this, 17, value, opt_index);\n};\n\n\nproto.lnrpc.QueryRoutesRequest.prototype.clearDestFeaturesList = function() {\n this.setDestFeaturesList([]);\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.lnrpc.NodePair = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.lnrpc.NodePair, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.lnrpc.NodePair.displayName = 'proto.lnrpc.NodePair';\n}\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.lnrpc.NodePair.prototype.toObject = function(opt_includeInstance) {\n return proto.lnrpc.NodePair.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.lnrpc.NodePair} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.NodePair.toObject = function(includeInstance, msg) {\n var f, obj = {\n from: msg.getFrom_asB64(),\n to: msg.getTo_asB64()\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.lnrpc.NodePair}\n */\nproto.lnrpc.NodePair.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.lnrpc.NodePair;\n return proto.lnrpc.NodePair.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.lnrpc.NodePair} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.lnrpc.NodePair}\n */\nproto.lnrpc.NodePair.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {!Uint8Array} */ (reader.readBytes());\n msg.setFrom(value);\n break;\n case 2:\n var value = /** @type {!Uint8Array} */ (reader.readBytes());\n msg.setTo(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.lnrpc.NodePair.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.lnrpc.NodePair.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.lnrpc.NodePair} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.NodePair.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getFrom_asU8();\n if (f.length > 0) {\n writer.writeBytes(\n 1,\n f\n );\n }\n f = message.getTo_asU8();\n if (f.length > 0) {\n writer.writeBytes(\n 2,\n f\n );\n }\n};\n\n\n/**\n * optional bytes from = 1;\n * @return {string}\n */\nproto.lnrpc.NodePair.prototype.getFrom = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * optional bytes from = 1;\n * This is a type-conversion wrapper around `getFrom()`\n * @return {string}\n */\nproto.lnrpc.NodePair.prototype.getFrom_asB64 = function() {\n return /** @type {string} */ (jspb.Message.bytesAsB64(\n this.getFrom()));\n};\n\n\n/**\n * optional bytes from = 1;\n * Note that Uint8Array is not supported on all browsers.\n * @see http://caniuse.com/Uint8Array\n * This is a type-conversion wrapper around `getFrom()`\n * @return {!Uint8Array}\n */\nproto.lnrpc.NodePair.prototype.getFrom_asU8 = function() {\n return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(\n this.getFrom()));\n};\n\n\n/** @param {!(string|Uint8Array)} value */\nproto.lnrpc.NodePair.prototype.setFrom = function(value) {\n jspb.Message.setField(this, 1, value);\n};\n\n\n/**\n * optional bytes to = 2;\n * @return {string}\n */\nproto.lnrpc.NodePair.prototype.getTo = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * optional bytes to = 2;\n * This is a type-conversion wrapper around `getTo()`\n * @return {string}\n */\nproto.lnrpc.NodePair.prototype.getTo_asB64 = function() {\n return /** @type {string} */ (jspb.Message.bytesAsB64(\n this.getTo()));\n};\n\n\n/**\n * optional bytes to = 2;\n * Note that Uint8Array is not supported on all browsers.\n * @see http://caniuse.com/Uint8Array\n * This is a type-conversion wrapper around `getTo()`\n * @return {!Uint8Array}\n */\nproto.lnrpc.NodePair.prototype.getTo_asU8 = function() {\n return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(\n this.getTo()));\n};\n\n\n/** @param {!(string|Uint8Array)} value */\nproto.lnrpc.NodePair.prototype.setTo = function(value) {\n jspb.Message.setField(this, 2, value);\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.lnrpc.EdgeLocator = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.lnrpc.EdgeLocator, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.lnrpc.EdgeLocator.displayName = 'proto.lnrpc.EdgeLocator';\n}\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.lnrpc.EdgeLocator.prototype.toObject = function(opt_includeInstance) {\n return proto.lnrpc.EdgeLocator.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.lnrpc.EdgeLocator} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.EdgeLocator.toObject = function(includeInstance, msg) {\n var f, obj = {\n channelId: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n directionReverse: jspb.Message.getFieldWithDefault(msg, 2, false)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.lnrpc.EdgeLocator}\n */\nproto.lnrpc.EdgeLocator.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.lnrpc.EdgeLocator;\n return proto.lnrpc.EdgeLocator.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.lnrpc.EdgeLocator} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.lnrpc.EdgeLocator}\n */\nproto.lnrpc.EdgeLocator.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readUint64String());\n msg.setChannelId(value);\n break;\n case 2:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setDirectionReverse(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.lnrpc.EdgeLocator.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.lnrpc.EdgeLocator.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.lnrpc.EdgeLocator} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.EdgeLocator.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getChannelId();\n if (parseInt(f, 10) !== 0) {\n writer.writeUint64String(\n 1,\n f\n );\n }\n f = message.getDirectionReverse();\n if (f) {\n writer.writeBool(\n 2,\n f\n );\n }\n};\n\n\n/**\n * optional uint64 channel_id = 1;\n * @return {string}\n */\nproto.lnrpc.EdgeLocator.prototype.getChannelId = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/** @param {string} value */\nproto.lnrpc.EdgeLocator.prototype.setChannelId = function(value) {\n jspb.Message.setField(this, 1, value);\n};\n\n\n/**\n * optional bool direction_reverse = 2;\n * Note that Boolean fields may be set to 0/1 when serialized from a Java server.\n * You should avoid comparisons like {@code val === true/false} in those cases.\n * @return {boolean}\n */\nproto.lnrpc.EdgeLocator.prototype.getDirectionReverse = function() {\n return /** @type {boolean} */ (jspb.Message.getFieldWithDefault(this, 2, false));\n};\n\n\n/** @param {boolean} value */\nproto.lnrpc.EdgeLocator.prototype.setDirectionReverse = function(value) {\n jspb.Message.setField(this, 2, value);\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.lnrpc.QueryRoutesResponse = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, proto.lnrpc.QueryRoutesResponse.repeatedFields_, null);\n};\ngoog.inherits(proto.lnrpc.QueryRoutesResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.lnrpc.QueryRoutesResponse.displayName = 'proto.lnrpc.QueryRoutesResponse';\n}\n/**\n * List of repeated fields within this message type.\n * @private {!Array}\n * @const\n */\nproto.lnrpc.QueryRoutesResponse.repeatedFields_ = [1];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.lnrpc.QueryRoutesResponse.prototype.toObject = function(opt_includeInstance) {\n return proto.lnrpc.QueryRoutesResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.lnrpc.QueryRoutesResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.QueryRoutesResponse.toObject = function(includeInstance, msg) {\n var f, obj = {\n routesList: jspb.Message.toObjectList(msg.getRoutesList(),\n proto.lnrpc.Route.toObject, includeInstance),\n successProb: +jspb.Message.getFieldWithDefault(msg, 2, 0.0)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.lnrpc.QueryRoutesResponse}\n */\nproto.lnrpc.QueryRoutesResponse.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.lnrpc.QueryRoutesResponse;\n return proto.lnrpc.QueryRoutesResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.lnrpc.QueryRoutesResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.lnrpc.QueryRoutesResponse}\n */\nproto.lnrpc.QueryRoutesResponse.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = new proto.lnrpc.Route;\n reader.readMessage(value,proto.lnrpc.Route.deserializeBinaryFromReader);\n msg.addRoutes(value);\n break;\n case 2:\n var value = /** @type {number} */ (reader.readDouble());\n msg.setSuccessProb(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.lnrpc.QueryRoutesResponse.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.lnrpc.QueryRoutesResponse.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.lnrpc.QueryRoutesResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.QueryRoutesResponse.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getRoutesList();\n if (f.length > 0) {\n writer.writeRepeatedMessage(\n 1,\n f,\n proto.lnrpc.Route.serializeBinaryToWriter\n );\n }\n f = message.getSuccessProb();\n if (f !== 0.0) {\n writer.writeDouble(\n 2,\n f\n );\n }\n};\n\n\n/**\n * repeated Route routes = 1;\n * @return {!Array.}\n */\nproto.lnrpc.QueryRoutesResponse.prototype.getRoutesList = function() {\n return /** @type{!Array.} */ (\n jspb.Message.getRepeatedWrapperField(this, proto.lnrpc.Route, 1));\n};\n\n\n/** @param {!Array.} value */\nproto.lnrpc.QueryRoutesResponse.prototype.setRoutesList = function(value) {\n jspb.Message.setRepeatedWrapperField(this, 1, value);\n};\n\n\n/**\n * @param {!proto.lnrpc.Route=} opt_value\n * @param {number=} opt_index\n * @return {!proto.lnrpc.Route}\n */\nproto.lnrpc.QueryRoutesResponse.prototype.addRoutes = function(opt_value, opt_index) {\n return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.lnrpc.Route, opt_index);\n};\n\n\nproto.lnrpc.QueryRoutesResponse.prototype.clearRoutesList = function() {\n this.setRoutesList([]);\n};\n\n\n/**\n * optional double success_prob = 2;\n * @return {number}\n */\nproto.lnrpc.QueryRoutesResponse.prototype.getSuccessProb = function() {\n return /** @type {number} */ (+jspb.Message.getFieldWithDefault(this, 2, 0.0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.QueryRoutesResponse.prototype.setSuccessProb = function(value) {\n jspb.Message.setField(this, 2, value);\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.lnrpc.Hop = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.lnrpc.Hop, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.lnrpc.Hop.displayName = 'proto.lnrpc.Hop';\n}\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.lnrpc.Hop.prototype.toObject = function(opt_includeInstance) {\n return proto.lnrpc.Hop.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.lnrpc.Hop} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.Hop.toObject = function(includeInstance, msg) {\n var f, obj = {\n chanId: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n chanCapacity: jspb.Message.getFieldWithDefault(msg, 2, 0),\n amtToForward: jspb.Message.getFieldWithDefault(msg, 3, 0),\n fee: jspb.Message.getFieldWithDefault(msg, 4, 0),\n expiry: jspb.Message.getFieldWithDefault(msg, 5, 0),\n amtToForwardMsat: jspb.Message.getFieldWithDefault(msg, 6, 0),\n feeMsat: jspb.Message.getFieldWithDefault(msg, 7, 0),\n pubKey: jspb.Message.getFieldWithDefault(msg, 8, \"\"),\n tlvPayload: jspb.Message.getFieldWithDefault(msg, 9, false),\n mppRecord: (f = msg.getMppRecord()) && proto.lnrpc.MPPRecord.toObject(includeInstance, f),\n customRecordsMap: (f = msg.getCustomRecordsMap()) ? f.toObject(includeInstance, undefined) : []\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.lnrpc.Hop}\n */\nproto.lnrpc.Hop.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.lnrpc.Hop;\n return proto.lnrpc.Hop.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.lnrpc.Hop} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.lnrpc.Hop}\n */\nproto.lnrpc.Hop.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readUint64String());\n msg.setChanId(value);\n break;\n case 2:\n var value = /** @type {number} */ (reader.readInt64());\n msg.setChanCapacity(value);\n break;\n case 3:\n var value = /** @type {number} */ (reader.readInt64());\n msg.setAmtToForward(value);\n break;\n case 4:\n var value = /** @type {number} */ (reader.readInt64());\n msg.setFee(value);\n break;\n case 5:\n var value = /** @type {number} */ (reader.readUint32());\n msg.setExpiry(value);\n break;\n case 6:\n var value = /** @type {number} */ (reader.readInt64());\n msg.setAmtToForwardMsat(value);\n break;\n case 7:\n var value = /** @type {number} */ (reader.readInt64());\n msg.setFeeMsat(value);\n break;\n case 8:\n var value = /** @type {string} */ (reader.readString());\n msg.setPubKey(value);\n break;\n case 9:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setTlvPayload(value);\n break;\n case 10:\n var value = new proto.lnrpc.MPPRecord;\n reader.readMessage(value,proto.lnrpc.MPPRecord.deserializeBinaryFromReader);\n msg.setMppRecord(value);\n break;\n case 11:\n var value = msg.getCustomRecordsMap();\n reader.readMessage(value, function(message, reader) {\n jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readUint64, jspb.BinaryReader.prototype.readBytes);\n });\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.lnrpc.Hop.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.lnrpc.Hop.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.lnrpc.Hop} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.Hop.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getChanId();\n if (parseInt(f, 10) !== 0) {\n writer.writeUint64String(\n 1,\n f\n );\n }\n f = message.getChanCapacity();\n if (f !== 0) {\n writer.writeInt64(\n 2,\n f\n );\n }\n f = message.getAmtToForward();\n if (f !== 0) {\n writer.writeInt64(\n 3,\n f\n );\n }\n f = message.getFee();\n if (f !== 0) {\n writer.writeInt64(\n 4,\n f\n );\n }\n f = message.getExpiry();\n if (f !== 0) {\n writer.writeUint32(\n 5,\n f\n );\n }\n f = message.getAmtToForwardMsat();\n if (f !== 0) {\n writer.writeInt64(\n 6,\n f\n );\n }\n f = message.getFeeMsat();\n if (f !== 0) {\n writer.writeInt64(\n 7,\n f\n );\n }\n f = message.getPubKey();\n if (f.length > 0) {\n writer.writeString(\n 8,\n f\n );\n }\n f = message.getTlvPayload();\n if (f) {\n writer.writeBool(\n 9,\n f\n );\n }\n f = message.getMppRecord();\n if (f != null) {\n writer.writeMessage(\n 10,\n f,\n proto.lnrpc.MPPRecord.serializeBinaryToWriter\n );\n }\n f = message.getCustomRecordsMap(true);\n if (f && f.getLength() > 0) {\n f.serializeBinary(11, writer, jspb.BinaryWriter.prototype.writeUint64, jspb.BinaryWriter.prototype.writeBytes);\n }\n};\n\n\n/**\n * optional uint64 chan_id = 1;\n * @return {string}\n */\nproto.lnrpc.Hop.prototype.getChanId = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/** @param {string} value */\nproto.lnrpc.Hop.prototype.setChanId = function(value) {\n jspb.Message.setField(this, 1, value);\n};\n\n\n/**\n * optional int64 chan_capacity = 2;\n * @return {number}\n */\nproto.lnrpc.Hop.prototype.getChanCapacity = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.Hop.prototype.setChanCapacity = function(value) {\n jspb.Message.setField(this, 2, value);\n};\n\n\n/**\n * optional int64 amt_to_forward = 3;\n * @return {number}\n */\nproto.lnrpc.Hop.prototype.getAmtToForward = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.Hop.prototype.setAmtToForward = function(value) {\n jspb.Message.setField(this, 3, value);\n};\n\n\n/**\n * optional int64 fee = 4;\n * @return {number}\n */\nproto.lnrpc.Hop.prototype.getFee = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.Hop.prototype.setFee = function(value) {\n jspb.Message.setField(this, 4, value);\n};\n\n\n/**\n * optional uint32 expiry = 5;\n * @return {number}\n */\nproto.lnrpc.Hop.prototype.getExpiry = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 5, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.Hop.prototype.setExpiry = function(value) {\n jspb.Message.setField(this, 5, value);\n};\n\n\n/**\n * optional int64 amt_to_forward_msat = 6;\n * @return {number}\n */\nproto.lnrpc.Hop.prototype.getAmtToForwardMsat = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 6, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.Hop.prototype.setAmtToForwardMsat = function(value) {\n jspb.Message.setField(this, 6, value);\n};\n\n\n/**\n * optional int64 fee_msat = 7;\n * @return {number}\n */\nproto.lnrpc.Hop.prototype.getFeeMsat = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 7, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.Hop.prototype.setFeeMsat = function(value) {\n jspb.Message.setField(this, 7, value);\n};\n\n\n/**\n * optional string pub_key = 8;\n * @return {string}\n */\nproto.lnrpc.Hop.prototype.getPubKey = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 8, \"\"));\n};\n\n\n/** @param {string} value */\nproto.lnrpc.Hop.prototype.setPubKey = function(value) {\n jspb.Message.setField(this, 8, value);\n};\n\n\n/**\n * optional bool tlv_payload = 9;\n * Note that Boolean fields may be set to 0/1 when serialized from a Java server.\n * You should avoid comparisons like {@code val === true/false} in those cases.\n * @return {boolean}\n */\nproto.lnrpc.Hop.prototype.getTlvPayload = function() {\n return /** @type {boolean} */ (jspb.Message.getFieldWithDefault(this, 9, false));\n};\n\n\n/** @param {boolean} value */\nproto.lnrpc.Hop.prototype.setTlvPayload = function(value) {\n jspb.Message.setField(this, 9, value);\n};\n\n\n/**\n * optional MPPRecord mpp_record = 10;\n * @return {?proto.lnrpc.MPPRecord}\n */\nproto.lnrpc.Hop.prototype.getMppRecord = function() {\n return /** @type{?proto.lnrpc.MPPRecord} */ (\n jspb.Message.getWrapperField(this, proto.lnrpc.MPPRecord, 10));\n};\n\n\n/** @param {?proto.lnrpc.MPPRecord|undefined} value */\nproto.lnrpc.Hop.prototype.setMppRecord = function(value) {\n jspb.Message.setWrapperField(this, 10, value);\n};\n\n\nproto.lnrpc.Hop.prototype.clearMppRecord = function() {\n this.setMppRecord(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {!boolean}\n */\nproto.lnrpc.Hop.prototype.hasMppRecord = function() {\n return jspb.Message.getField(this, 10) != null;\n};\n\n\n/**\n * map custom_records = 11;\n * @param {boolean=} opt_noLazyCreate Do not create the map if\n * empty, instead returning `undefined`\n * @return {!jspb.Map}\n */\nproto.lnrpc.Hop.prototype.getCustomRecordsMap = function(opt_noLazyCreate) {\n return /** @type {!jspb.Map} */ (\n jspb.Message.getMapField(this, 11, opt_noLazyCreate,\n null));\n};\n\n\nproto.lnrpc.Hop.prototype.clearCustomRecordsMap = function() {\n this.getCustomRecordsMap().clear();\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.lnrpc.MPPRecord = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.lnrpc.MPPRecord, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.lnrpc.MPPRecord.displayName = 'proto.lnrpc.MPPRecord';\n}\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.lnrpc.MPPRecord.prototype.toObject = function(opt_includeInstance) {\n return proto.lnrpc.MPPRecord.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.lnrpc.MPPRecord} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.MPPRecord.toObject = function(includeInstance, msg) {\n var f, obj = {\n paymentAddr: msg.getPaymentAddr_asB64(),\n totalAmtMsat: jspb.Message.getFieldWithDefault(msg, 10, 0)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.lnrpc.MPPRecord}\n */\nproto.lnrpc.MPPRecord.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.lnrpc.MPPRecord;\n return proto.lnrpc.MPPRecord.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.lnrpc.MPPRecord} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.lnrpc.MPPRecord}\n */\nproto.lnrpc.MPPRecord.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 11:\n var value = /** @type {!Uint8Array} */ (reader.readBytes());\n msg.setPaymentAddr(value);\n break;\n case 10:\n var value = /** @type {number} */ (reader.readInt64());\n msg.setTotalAmtMsat(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.lnrpc.MPPRecord.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.lnrpc.MPPRecord.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.lnrpc.MPPRecord} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.MPPRecord.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getPaymentAddr_asU8();\n if (f.length > 0) {\n writer.writeBytes(\n 11,\n f\n );\n }\n f = message.getTotalAmtMsat();\n if (f !== 0) {\n writer.writeInt64(\n 10,\n f\n );\n }\n};\n\n\n/**\n * optional bytes payment_addr = 11;\n * @return {string}\n */\nproto.lnrpc.MPPRecord.prototype.getPaymentAddr = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 11, \"\"));\n};\n\n\n/**\n * optional bytes payment_addr = 11;\n * This is a type-conversion wrapper around `getPaymentAddr()`\n * @return {string}\n */\nproto.lnrpc.MPPRecord.prototype.getPaymentAddr_asB64 = function() {\n return /** @type {string} */ (jspb.Message.bytesAsB64(\n this.getPaymentAddr()));\n};\n\n\n/**\n * optional bytes payment_addr = 11;\n * Note that Uint8Array is not supported on all browsers.\n * @see http://caniuse.com/Uint8Array\n * This is a type-conversion wrapper around `getPaymentAddr()`\n * @return {!Uint8Array}\n */\nproto.lnrpc.MPPRecord.prototype.getPaymentAddr_asU8 = function() {\n return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(\n this.getPaymentAddr()));\n};\n\n\n/** @param {!(string|Uint8Array)} value */\nproto.lnrpc.MPPRecord.prototype.setPaymentAddr = function(value) {\n jspb.Message.setField(this, 11, value);\n};\n\n\n/**\n * optional int64 total_amt_msat = 10;\n * @return {number}\n */\nproto.lnrpc.MPPRecord.prototype.getTotalAmtMsat = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 10, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.MPPRecord.prototype.setTotalAmtMsat = function(value) {\n jspb.Message.setField(this, 10, value);\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.lnrpc.Route = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, proto.lnrpc.Route.repeatedFields_, null);\n};\ngoog.inherits(proto.lnrpc.Route, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.lnrpc.Route.displayName = 'proto.lnrpc.Route';\n}\n/**\n * List of repeated fields within this message type.\n * @private {!Array}\n * @const\n */\nproto.lnrpc.Route.repeatedFields_ = [4];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.lnrpc.Route.prototype.toObject = function(opt_includeInstance) {\n return proto.lnrpc.Route.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.lnrpc.Route} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.Route.toObject = function(includeInstance, msg) {\n var f, obj = {\n totalTimeLock: jspb.Message.getFieldWithDefault(msg, 1, 0),\n totalFees: jspb.Message.getFieldWithDefault(msg, 2, 0),\n totalAmt: jspb.Message.getFieldWithDefault(msg, 3, 0),\n hopsList: jspb.Message.toObjectList(msg.getHopsList(),\n proto.lnrpc.Hop.toObject, includeInstance),\n totalFeesMsat: jspb.Message.getFieldWithDefault(msg, 5, 0),\n totalAmtMsat: jspb.Message.getFieldWithDefault(msg, 6, 0)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.lnrpc.Route}\n */\nproto.lnrpc.Route.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.lnrpc.Route;\n return proto.lnrpc.Route.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.lnrpc.Route} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.lnrpc.Route}\n */\nproto.lnrpc.Route.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {number} */ (reader.readUint32());\n msg.setTotalTimeLock(value);\n break;\n case 2:\n var value = /** @type {number} */ (reader.readInt64());\n msg.setTotalFees(value);\n break;\n case 3:\n var value = /** @type {number} */ (reader.readInt64());\n msg.setTotalAmt(value);\n break;\n case 4:\n var value = new proto.lnrpc.Hop;\n reader.readMessage(value,proto.lnrpc.Hop.deserializeBinaryFromReader);\n msg.addHops(value);\n break;\n case 5:\n var value = /** @type {number} */ (reader.readInt64());\n msg.setTotalFeesMsat(value);\n break;\n case 6:\n var value = /** @type {number} */ (reader.readInt64());\n msg.setTotalAmtMsat(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.lnrpc.Route.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.lnrpc.Route.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.lnrpc.Route} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.Route.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getTotalTimeLock();\n if (f !== 0) {\n writer.writeUint32(\n 1,\n f\n );\n }\n f = message.getTotalFees();\n if (f !== 0) {\n writer.writeInt64(\n 2,\n f\n );\n }\n f = message.getTotalAmt();\n if (f !== 0) {\n writer.writeInt64(\n 3,\n f\n );\n }\n f = message.getHopsList();\n if (f.length > 0) {\n writer.writeRepeatedMessage(\n 4,\n f,\n proto.lnrpc.Hop.serializeBinaryToWriter\n );\n }\n f = message.getTotalFeesMsat();\n if (f !== 0) {\n writer.writeInt64(\n 5,\n f\n );\n }\n f = message.getTotalAmtMsat();\n if (f !== 0) {\n writer.writeInt64(\n 6,\n f\n );\n }\n};\n\n\n/**\n * optional uint32 total_time_lock = 1;\n * @return {number}\n */\nproto.lnrpc.Route.prototype.getTotalTimeLock = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.Route.prototype.setTotalTimeLock = function(value) {\n jspb.Message.setField(this, 1, value);\n};\n\n\n/**\n * optional int64 total_fees = 2;\n * @return {number}\n */\nproto.lnrpc.Route.prototype.getTotalFees = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.Route.prototype.setTotalFees = function(value) {\n jspb.Message.setField(this, 2, value);\n};\n\n\n/**\n * optional int64 total_amt = 3;\n * @return {number}\n */\nproto.lnrpc.Route.prototype.getTotalAmt = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.Route.prototype.setTotalAmt = function(value) {\n jspb.Message.setField(this, 3, value);\n};\n\n\n/**\n * repeated Hop hops = 4;\n * @return {!Array.}\n */\nproto.lnrpc.Route.prototype.getHopsList = function() {\n return /** @type{!Array.} */ (\n jspb.Message.getRepeatedWrapperField(this, proto.lnrpc.Hop, 4));\n};\n\n\n/** @param {!Array.} value */\nproto.lnrpc.Route.prototype.setHopsList = function(value) {\n jspb.Message.setRepeatedWrapperField(this, 4, value);\n};\n\n\n/**\n * @param {!proto.lnrpc.Hop=} opt_value\n * @param {number=} opt_index\n * @return {!proto.lnrpc.Hop}\n */\nproto.lnrpc.Route.prototype.addHops = function(opt_value, opt_index) {\n return jspb.Message.addToRepeatedWrapperField(this, 4, opt_value, proto.lnrpc.Hop, opt_index);\n};\n\n\nproto.lnrpc.Route.prototype.clearHopsList = function() {\n this.setHopsList([]);\n};\n\n\n/**\n * optional int64 total_fees_msat = 5;\n * @return {number}\n */\nproto.lnrpc.Route.prototype.getTotalFeesMsat = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 5, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.Route.prototype.setTotalFeesMsat = function(value) {\n jspb.Message.setField(this, 5, value);\n};\n\n\n/**\n * optional int64 total_amt_msat = 6;\n * @return {number}\n */\nproto.lnrpc.Route.prototype.getTotalAmtMsat = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 6, 0));\n};\n\n\n/** @param {number} value */\nproto.lnrpc.Route.prototype.setTotalAmtMsat = function(value) {\n jspb.Message.setField(this, 6, value);\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.lnrpc.NodeInfoRequest = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.lnrpc.NodeInfoRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.lnrpc.NodeInfoRequest.displayName = 'proto.lnrpc.NodeInfoRequest';\n}\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.\n * @param {boolean=} opt_includeInstance Whether to include the JSPB instance\n * for transitional soy proto support: http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.lnrpc.NodeInfoRequest.prototype.toObject = function(opt_includeInstance) {\n return proto.lnrpc.NodeInfoRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Whether to include the JSPB\n * instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.lnrpc.NodeInfoRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.NodeInfoRequest.toObject = function(includeInstance, msg) {\n var f, obj = {\n pubKey: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n includeChannels: jspb.Message.getFieldWithDefault(msg, 2, false)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.lnrpc.NodeInfoRequest}\n */\nproto.lnrpc.NodeInfoRequest.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.lnrpc.NodeInfoRequest;\n return proto.lnrpc.NodeInfoRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.lnrpc.NodeInfoRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.lnrpc.NodeInfoRequest}\n */\nproto.lnrpc.NodeInfoRequest.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setPubKey(value);\n break;\n case 2:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setIncludeChannels(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.lnrpc.NodeInfoRequest.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.lnrpc.NodeInfoRequest.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.lnrpc.NodeInfoRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.lnrpc.NodeInfoRequest.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getPubKey();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n f = message.getIncludeChannels();\n if (f) {\n writer.writeBool(\n 2,\n f\n );\n }\n};\n\n\n/**\n * optional string pub_key = 1;\n * @return {string}\n */\nproto.lnrpc.NodeInfoRequest.prototype.getPubKey = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/** @param {string} value */\nproto.lnrpc.NodeInfoRequest.prototype.setPubKey = function(value) {\n jspb.Message.setField(this, 1, value);\n};\n\n\n/**\n * optional bool include_channels = 2;\n * Note that Boolean fields may be set to 0/1 when serialized from a Java server.\n * You should avoid comparisons like {@code val === true/false} in those cases.\n * @return {boolean}\n */\nproto.lnrpc.NodeInfoRequest.prototype.getIncludeChannels = function() {\n return /** @type {boolean} */ (jspb.Message.getFieldWithDefault(this, 2, false));\n};\n\n\n/** @param {boolean} value */\nproto.lnrpc.NodeInfoRequest.prototype.setIncludeChannels = function(value) {\n jspb.Message.setField(this, 2, value);\n};\n\n\n\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.lnrpc.NodeInfo = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, proto.lnrpc.NodeInfo.repeatedFields_, null);\n};\ngoog.inherits(proto.lnrpc.NodeInfo, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n proto.lnrpc.NodeInfo.displayName = 'proto.lnrpc.NodeInfo';\n}\n/**\n * List of repeated fields within this message type.\n * @private {!Array}\n * @const\n */\nproto.lnrpc.NodeInfo.repeatedFields_ = [4];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto suitable for use in Soy templates.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * To access a reserved field use, foo.pb_