diff --git a/web/cashtab/src/components/Airdrop/__tests__/__snapshots__/Airdrop.test.js.snap b/web/cashtab/src/components/Airdrop/__tests__/__snapshots__/Airdrop.test.js.snap index 30c5a19e9..0bf784baa 100644 --- a/web/cashtab/src/components/Airdrop/__tests__/__snapshots__/Airdrop.test.js.snap +++ b/web/cashtab/src/components/Airdrop/__tests__/__snapshots__/Airdrop.test.js.snap @@ -1,565 +1,565 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP @generated exports[`Wallet with BCH balances 1`] = ` Array [

MigrationTestAlpha

edit.svg
You currently have 0 XEC
Deposit some funds to use this feature
,
,
XEC Airdrop Calculator
, ] `; exports[`Wallet with BCH balances and tokens 1`] = ` Array [

MigrationTestAlpha

edit.svg
You currently have 0 XEC
Deposit some funds to use this feature
,
,
XEC Airdrop Calculator
, ] `; exports[`Wallet with BCH balances and tokens and state field 1`] = ` Array [

MigrationTestAlpha

edit.svg
0.06 XEC
,
,
XEC Airdrop Calculator
, ] `; exports[`Wallet without BCH balance 1`] = ` Array [

MigrationTestAlpha

edit.svg
You currently have 0 XEC
Deposit some funds to use this feature
,
,
XEC Airdrop Calculator
, ] `; exports[`Without wallet defined 1`] = ` Array [
edit.svg
You currently have 0 XEC
Deposit some funds to use this feature
,
,
XEC Airdrop Calculator
, ] `; diff --git a/web/cashtab/src/components/Common/CustomIcons.js b/web/cashtab/src/components/Common/CustomIcons.js index 7907174d8..c67c707eb 100644 --- a/web/cashtab/src/components/Common/CustomIcons.js +++ b/web/cashtab/src/components/Common/CustomIcons.js @@ -1,167 +1,171 @@ import * as React from 'react'; import styled from 'styled-components'; import { CopyOutlined, DollarOutlined, LoadingOutlined, WalletOutlined, QrcodeOutlined, SettingOutlined, LockOutlined, ContactsOutlined, + FireOutlined, } from '@ant-design/icons'; import { Image } from 'antd'; import { currency } from 'components/Common/Ticker'; import { ReactComponent as Send } from 'assets/send.svg'; import { ReactComponent as Receive } from 'assets/receive.svg'; import { ReactComponent as Genesis } from 'assets/flask.svg'; import { ReactComponent as Unparsed } from 'assets/alert-circle.svg'; import { ReactComponent as Home } from 'assets/home.svg'; import { ReactComponent as Settings } from 'assets/cog.svg'; import { ReactComponent as CopySolid } from 'assets/copy.svg'; import { ReactComponent as LinkSolid } from 'assets/external-link-square-alt.svg'; import { ReactComponent as Airdrop } from 'assets/airdrop-icon.svg'; import { ReactComponent as Pdf } from 'assets/file-pdf.svg'; import { ReactComponent as Plus } from 'assets/plus.svg'; import { ReactComponent as Download } from 'assets/download.svg'; import { ReactComponent as Edit } from 'assets/edit.svg'; import { ReactComponent as Trashcan } from 'assets/trashcan.svg'; import { ReactComponent as FingerprintSVG } from 'assets/fingerprint-solid.svg'; export const CashLoadingIcon = ; export const CashReceivedNotificationIcon = () => ( ); export const TokenReceivedNotificationIcon = () => ( ); export const MessageSignedNotificationIcon = () => ( ); +export const ThemedBurnOutlined = styled(FireOutlined)` + color: ${props => props.theme.eCashPurple} !important; +`; export const ThemedCopyOutlined = styled(CopyOutlined)` color: ${props => props.theme.icons.outlined} !important; `; export const ThemedDollarOutlined = styled(DollarOutlined)` color: ${props => props.theme.icons.outlined} !important; `; export const ThemedWalletOutlined = styled(WalletOutlined)` color: ${props => props.theme.icons.outlined} !important; `; export const ThemedQrcodeOutlined = styled(QrcodeOutlined)` color: ${props => props.theme.walletBackground} !important; `; export const ThemedSettingOutlined = styled(SettingOutlined)` color: ${props => props.theme.icons.outlined} !important; `; export const ThemedLockOutlined = styled(LockOutlined)` color: ${props => props.theme.icons.outlined} !important; `; export const ThemedContactsOutlined = styled(ContactsOutlined)` color: ${props => props.theme.icons.outlined} !important; `; export const ThemedContactSendOutlined = styled(Send)` color: ${props => props.theme.icons.outlined} !important; transform: rotate(-35deg); padding: 0.15rem 0rem 0.18rem 0rem; height: 1.3em; width: 1.3em; `; export const ThemedCopySolid = styled(CopySolid)` fill: ${props => props.theme.contrast}; padding: 0rem 0rem 0.27rem 0rem; height: 1.3em; width: 1.3em; `; export const ThemedLinkSolid = styled(LinkSolid)` fill: ${props => props.theme.contrast}; padding: 0.15rem 0rem 0.18rem 0rem; height: 1.3em; width: 1.3em; `; export const ThemedPdfSolid = styled(Pdf)` fill: ${props => props.theme.contrast}; padding: 0.15rem 0rem 0.18rem 0rem; height: 1.3em; width: 1.3em; `; export const ThemedPlusOutlined = styled(Plus)` fill: ${props => props.theme.contrast}; padding: 0.15rem 0rem 0.18rem 0rem; height: 1.3em; width: 1.3em; `; export const ThemedDownloadOutlined = styled(Download)` fill: ${props => props.theme.contrast}; padding: 0.15rem 0rem 0.18rem 0rem; height: 1.3em; width: 1.3em; `; export const ThemedEditOutlined = styled(Edit)` stroke: ${props => props.theme.eCashBlue}; fill: ${props => props.theme.eCashBlue}; width: 20px; height: 20px; cursor: pointer; `; export const ThemedTrashcanOutlined = styled(Trashcan)` stroke: ${props => props.theme.eCashBlue}; fill: ${props => props.theme.eCashBlue}; width: 20px; height: 20px; cursor: pointer; `; export const ThemedFingerprintSVG = styled(FingerprintSVG)` fill: ${props => props.theme.buttons.primary.color}; `; export const LoadingBlock = styled.div` width: 100%; display: flex; align-items: center; justify-content: center; padding: 24px; flex-direction: column; svg { width: 50px; height: 50px; fill: ${props => props.theme.eCashBlue}; } `; export const CashLoader = () => ( ); export const ReceiveIcon = () => ; export const GenesisIcon = () => ; export const UnparsedIcon = () => ; export const HomeIcon = () => ; export const SettingsIcon = () => ; export const AirdropIcon = () => ; export const SendIcon = styled(Send)` transform: rotate(-35deg); `; export const CustomSpinner = ; diff --git a/web/cashtab/src/components/Configure/__tests__/__snapshots__/Configure.test.js.snap b/web/cashtab/src/components/Configure/__tests__/__snapshots__/Configure.test.js.snap index 1c566e3ca..b37749f22 100644 --- a/web/cashtab/src/components/Configure/__tests__/__snapshots__/Configure.test.js.snap +++ b/web/cashtab/src/components/Configure/__tests__/__snapshots__/Configure.test.js.snap @@ -1,1129 +1,1129 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP @generated exports[`Wallet with BCH balances and tokens 1`] = `

Backup your wallet

Your seed phrase is the only way to restore your wallet. Write it down. Keep it safe.

Manage Wallets

Contact List

Fiat Currency

US Dollar ($)

General Settings

Lock App
Not Supported
Send Confirmations
Hide messages from unknown sender
`; exports[`Without wallet defined 1`] = `

Backup your wallet

Your seed phrase is the only way to restore your wallet. Write it down. Keep it safe.

Manage Wallets

Contact List

Fiat Currency

US Dollar ($)

General Settings

Lock App
Not Supported
Send Confirmations
Hide messages from unknown sender
`; diff --git a/web/cashtab/src/components/Home/Tx.js b/web/cashtab/src/components/Home/Tx.js index 570231376..037eae316 100644 --- a/web/cashtab/src/components/Home/Tx.js +++ b/web/cashtab/src/components/Home/Tx.js @@ -1,1118 +1,1134 @@ import React, { useState } from 'react'; import { Link } from 'react-router-dom'; import PropTypes from 'prop-types'; import styled from 'styled-components'; import { SendIcon, ReceiveIcon, GenesisIcon, UnparsedIcon, ThemedContactsOutlined, + ThemedBurnOutlined, } from 'components/Common/CustomIcons'; import { currency } from 'components/Common/Ticker'; import { formatBalance, formatDate } from 'utils/formatting'; import TokenIcon from 'components/Tokens/TokenIcon'; import { Collapse } from 'antd'; import CopyToClipboard from 'components/Common/CopyToClipboard'; import { ThemedCopySolid, ThemedLinkSolid, ThemedPdfSolid, } from 'components/Common/CustomIcons'; const TxIcon = styled.div` svg { width: 20px; height: 20px; } height: 40px; width: 40px; border: 1px solid #fff; display: flex; align-items: center; justify-content: center; border-radius: 100px; `; const AddToContacts = styled.span` max-height: 200px; text-align: left; `; const SentTx = styled(TxIcon)` svg { margin-right: -3px; } fill: ${props => props.theme.contrast}; `; +const BurnedTx = styled(TxIcon)` + svg { + margin-right: -3px; + } + border-color: ${props => props.theme.eCashPurple}; +`; const ReceivedTx = styled(TxIcon)` svg { fill: ${props => props.theme.eCashBlue}; } border-color: ${props => props.theme.eCashBlue}; `; const GenesisTx = styled(TxIcon)` border-color: ${props => props.theme.genesisGreen}; svg { fill: ${props => props.theme.genesisGreen}; } `; const UnparsedTx = styled(TxIcon)` color: ${props => props.theme.eCashBlue} !important; `; const DateType = styled.div` text-align: left; padding: 12px; @media screen and (max-width: 500px) { font-size: 0.8rem; } `; const GenesisHeader = styled.h3``; const ReceivedHeader = styled.h3``; const LeftTextCtn = styled.div` text-align: left; display: flex; align-items: left; flex-direction: column; margin-left: 10px; h3 { color: ${props => props.theme.contrast}; font-size: 14px; font-weight: 700; margin: 0; } ${GenesisHeader} { color: ${props => props.theme.genesisGreen}; } ${ReceivedHeader} { color: ${props => props.theme.eCashBlue}; } h4 { font-size: 12px; color: ${props => props.theme.lightWhite}; margin: 0; } `; const RightTextCtn = styled.div` text-align: right; display: flex; align-items: left; flex-direction: column; margin-left: 10px; h3 { color: ${props => props.theme.contrast}; font-size: 14px; font-weight: 700; margin: 0; } h4 { font-size: 12px; color: ${props => props.theme.lightWhite}; margin: 0; } `; const OpReturnType = styled.div` text-align: right; width: 100%; padding: 10px; border-radius: 5px; background: ${props => props.theme.sentMessage}; margin-top: 15px; transition: max-height 500ms cubic-bezier(0, 1, 0, 1); ${({ hideMessagesFromUnknownSenders }) => hideMessagesFromUnknownSenders && ` max-height: auto; &[aria-expanded='true'] { max-height: 5000px; transition: max-height 500ms ease-in; } &[aria-expanded='false'] { transition: max-height 200ms ease-in; max-height: 6rem; } `} h4 { color: ${props => props.theme.lightWhite}; margin: 0; font-size: 12px; display: inline-block; } p { color: ${props => props.theme.contrast}; margin: 0; font-size: 14px; margin-bottom: 10px; overflow-wrap: break-word; } a { color: ${props => props.theme.contrast}; margin: 0px 0px 0px 5px; font-size: 10px; border: 1px solid ${props => props.theme.contrast}; border-radius: 5px; padding: 2px 10px; opacity: 0.6; } a:hover { opacity: 1; border-color: ${props => props.theme.eCashBlue}; color: ${props => props.theme.contrast}; background: ${props => props.theme.eCashBlue}; } ${({ received, ...props }) => received && ` text-align: left; background: ${props.theme.receivedMessage}; `} `; const ShowHideMessageButton = styled.button` color: ${props => props.theme.contrast}; background-color: transparent; margin: 0px 0px 0px 5px; font-size: 10px; border: 1px solid ${props => props.theme.contrast}; border-radius: 5px; padding: 1.6px 10px; opacity: 0.6; &:hover { opacity: 1; border-color: ${props => props.theme.eCashBlue}; color: ${props => props.theme.contrast}; background: ${props => props.theme.eCashBlue}; } `; const ReceivedLabel = styled.span` font-weight: bold; color: ${props => props.theme.eCashBlue} !important; `; const EncryptionMessageLabel = styled.span` font-weight: bold; font-size: 12px; color: ${props => props.theme.encryptionRed}; white-space: nowrap; `; const UnauthorizedDecryptionMessage = styled.span` text-align: left; color: ${props => props.theme.encryptionRed}; white-space: nowrap; font-style: italic; `; const DecryptedMessage = styled.div` ${props => props.authorized ? { color: `${props => props.theme.contrast}`, margin: '0', fontSize: '14px', marginBottom: '10px', overflowWrap: 'break-word', } : `${UnauthorizedDecryptionMessage}`} `; const TxInfo = styled.div` text-align: right; display: flex; align-items: left; flex-direction: column; margin-left: 10px; flex-grow: 2; h3 { color: ${props => props.theme.contrast}; font-size: 14px; font-weight: 700; margin: 0; } h4 { font-size: 12px; color: ${props => props.theme.lightWhite}; margin: 0; } @media screen and (max-width: 500px) { font-size: 0.8rem; } `; const TokenInfo = styled.div` display: flex; flex-grow: 1; justify-content: flex-end; color: ${props => props.outgoing ? props.theme.secondary : props.theme.eCashBlue}; @media screen and (max-width: 500px) { font-size: 0.8rem; grid-template-columns: 16px auto; } `; const TxTokenIcon = styled.div` img { height: 24px; width: 24px; } @media screen and (max-width: 500px) { img { height: 16px; width: 16px; } } grid-column-start: 1; grid-column-end: span 1; grid-row-start: 1; grid-row-end: span 2; align-self: center; `; const TokenTxAmt = styled.h3` text-align: right; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; `; const TokenTxAmtGenesis = styled(TokenTxAmt)` color: ${props => props.theme.genesisGreen} !important; `; const TokenTxAmtReceived = styled(TokenTxAmt)` color: ${props => props.theme.eCashBlue} !important; `; const TokenName = styled.h4` text-align: right; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; `; const TxWrapper = styled.div` display: flex; align-items: center; border-top: 1px solid rgba(255, 255, 255, 0.12); color: ${props => props.theme.contrast}; padding: 10px 0; flex-wrap: wrap; width: 100%; `; const AntdContextCollapseWrapper = styled.div` .ant-collapse { border: none !important; background-color: transparent !important; } .ant-collapse-item { border: none !important; } .ant-collapse-header { padding: 0 !important; color: ${props => props.theme.forms.text} !important; } border-radius: 16px; .ant-collapse-content-box { padding-right: 0 !important; } @media screen and (max-width: 500px) { grid-template-columns: 24px 30% 50%; } `; const Panel = Collapse.Panel; const DropdownIconWrapper = styled.div` display: flex; align-items: center; gap: 4px; `; const TextLayer = styled.div` font-size: 12px; color: ${props => props.theme.contrast}; white-space: nowrap; `; const DropdownButton = styled.button` display: flex; justify-content: flex-end; position: relative; background-color: ${props => props.theme.walletBackground}; border: none; cursor: pointer; padding: 0; &:hover { div { color: ${props => props.theme.eCashBlue}!important; } svg { fill: ${props => props.theme.eCashBlue}!important; } } `; const PanelCtn = styled.div` display: flex; align-items: center; justify-content: flex-end; right: 0; gap: 8px; @media (max-width: 500px) { flex-wrap: wrap; } `; const TxLink = styled.a` color: ${props => props.theme.primary}; `; const NotInContactsAlert = styled.h4` color: ${props => props.theme.forms.error} !important; font-style: italic; `; const ReceivedFromCtn = styled.div` display: flex; align-items: center; justify-content: center; gap: 3px; h4 { margin-top: 2.5px; } `; const Tx = ({ data, fiatPrice, fiatCurrency, addressesInContactList, contactList, cashtabSettings, }) => { const [displayedMessage, setDisplayedMessage] = useState(false); const handleShowMessage = () => { setDisplayedMessage(!displayedMessage); }; const txDate = formatDate(data.timeFirstSeen, navigator.language); // A wallet migrating from bch-api tx history to chronik will get caught here for one update cycle let unparsedTx = false; if (!Object.keys(data).includes('parsed')) { unparsedTx = true; } return ( <> {unparsedTx ? ( Unparsed
{txDate}
Open in Explorer
) : ( {data.parsed.legacy.outgoingTx ? ( <> {data.parsed.legacy.tokenTx && data.slpTxData.slpMeta .txType === 'GENESIS' ? ( + ) : data.parsed.isTokenBurn ? ( + + + ) : ( )} ) : ( )} {data.parsed.legacy.outgoingTx ? ( <> {data.parsed.legacy .tokenTx && data.slpTxData.slpMeta .txType === 'GENESIS' ? ( Genesis ) : ( -

Sent

+

+ {data.parsed + .isTokenBurn + ? 'Burned' + : 'Sent'} +

)} ) : ( Received {addressesInContactList.includes( data.parsed.legacy .replyAddress, ) && ( <>

from

{contactList.map( ( contact, index, ) => { let result; const contactAddress = contact.address; const dataAddress = data .parsed .legacy .replyAddress; if ( contactAddress === dataAddress ) { result = contact.name; } else { result = ''; } return (

{ result }

); }, )} )}
)}

{txDate}

{data.parsed.legacy.tokenTx ? ( {data.parsed.legacy.tokenTx && data.parsed.genesisInfo ? ( <> {data.parsed.legacy .outgoingTx ? ( {data.slpTxData .slpMeta .txType === 'GENESIS' ? ( <> +{' '} {data.parsed.etokenAmount.toString()}   { data .parsed .genesisInfo .tokenTicker } { data .parsed .genesisInfo .tokenName } ) : ( <> -{' '} {data.parsed.etokenAmount.toString()}   { data .parsed .genesisInfo .tokenTicker } { data .parsed .genesisInfo .tokenName } )} ) : ( +{' '} {data.parsed.etokenAmount.toString()}   { data .parsed .genesisInfo .tokenTicker } { data .parsed .genesisInfo .tokenName } )} ) : ( Token Tx )} ) : ( <> {data.parsed.legacy .outgoingTx ? ( <>

- {formatBalance( data.parsed .legacy .amountSent, )}{' '} { currency.ticker }

{fiatPrice !== null && !isNaN( data.parsed .legacy .amountSent, ) && (

- { currency .fiatCurrencies[ fiatCurrency ] .symbol } {( data .parsed .legacy .amountSent * fiatPrice ).toFixed( 2, )}{' '} { currency .fiatCurrencies .fiatCurrency }

)} ) : ( <> + {formatBalance( data.parsed .legacy .amountReceived, )}{' '} { currency.ticker } {fiatPrice !== null && !isNaN( data.parsed .legacy .amountReceived, ) && (

+ { currency .fiatCurrencies[ fiatCurrency ] .symbol } {( data .parsed .legacy .amountReceived * fiatPrice ).toFixed( 2, )}{' '} { currency .fiatCurrencies .fiatCurrency }

)} )}
)} {data.parsed.legacy.opReturnMessage && ( <> {!data.parsed.legacy .outgoingTx && !addressesInContactList.includes( data.parsed.legacy .replyAddress, ) && ( Warning: This sender is not in your contact list. Beware of scams. )} {data.parsed.legacy .isCashtabMessage ? (

Cashtab Message{' '}

) : (

External Message

)} {data.parsed.legacy .isEncryptedMessage ? (  - Encrypted ) : ( '' )}
{cashtabSettings.hideMessagesFromUnknownSenders ? ( <> {/*unencrypted OP_RETURN Message*/} {data.parsed.legacy .opReturnMessage && !data.parsed .legacy .isEncryptedMessage && ( <> {!displayedMessage && !data .parsed .legacy .outgoingTx && !addressesInContactList.includes( data .parsed .legacy .replyAddress, ) ? ( { e.stopPropagation(); handleShowMessage(); }} > Show ) : ( <>

{' '} { data .parsed .legacy .opReturnMessage }

{!addressesInContactList.includes( data .parsed .legacy .replyAddress, ) && !data .parsed .legacy .outgoingTx && ( { e.stopPropagation(); handleShowMessage(); }} > Hide )} )} )} {data.parsed.legacy .opReturnMessage && data.parsed .legacy .isEncryptedMessage && ( <> {!displayedMessage && !data .parsed .legacy .outgoingTx && !addressesInContactList.includes( data .parsed .legacy .replyAddress, ) ? ( { e.stopPropagation(); handleShowMessage(); }} > Show ) : ( <> { data .parsed .legacy .opReturnMessage } {!addressesInContactList.includes( data .parsed .legacy .replyAddress, ) && // do not render 'Hide' button if msg cannot be decrypted data .parsed .legacy .decryptionSuccess && ( { e.stopPropagation(); handleShowMessage(); }} > Hide )} )} )} ) : ( <> {/*unencrypted OP_RETURN Message*/} {data.parsed.legacy .opReturnMessage && !data.parsed.legacy .isEncryptedMessage ? (

{ data .parsed .legacy .opReturnMessage }

) : ( '' )} {/*encrypted and wallet is authorized to view OP_RETURN Message*/} {data.parsed.legacy .opReturnMessage && data.parsed.legacy .isEncryptedMessage && data.parsed.legacy .decryptionSuccess ? (

{ data .parsed .legacy .opReturnMessage }

) : ( '' )} {/*encrypted but wallet is not authorized to view OP_RETURN Message*/} {data.parsed.legacy .opReturnMessage && data.parsed.legacy .isEncryptedMessage && !data.parsed.legacy .decryptionSuccess ? ( { data .parsed .legacy .opReturnMessage } ) : ( '' )} )} {(!data.parsed.legacy .outgoingTx && data.parsed.legacy .replyAddress && addressesInContactList.includes( data.parsed.legacy .replyAddress, )) || (!cashtabSettings.hideMessagesFromUnknownSenders && !data.parsed.legacy .outgoingTx && data.parsed.legacy .replyAddress && displayedMessage) ? ( Reply ) : ( '' )}
)}
} > Txid {data.parsed.legacy.opReturnMessage && ( Msg )} View on e.cash Receipt {!data.parsed.legacy.outgoingTx && data.parsed.legacy.replyAddress && !addressesInContactList.includes( data.parsed.legacy.replyAddress, ) && ( Add to contacts )}
)} ); }; Tx.propTypes = { data: PropTypes.object, fiatPrice: PropTypes.number, fiatCurrency: PropTypes.string, addressesInContactList: PropTypes.arrayOf(PropTypes.string), contactList: PropTypes.arrayOf( PropTypes.shape({ address: PropTypes.string, name: PropTypes.string, }), ), cashtabSettings: PropTypes.oneOfType([ PropTypes.shape({ fiatCurrency: PropTypes.string, sendModal: PropTypes.bool, autoCameraOn: PropTypes.bool, hideMessagesFromUnknownSenders: PropTypes.bool, }), PropTypes.bool, ]), }; export default Tx; diff --git a/web/cashtab/src/components/Home/__tests__/__snapshots__/Home.test.js.snap b/web/cashtab/src/components/Home/__tests__/__snapshots__/Home.test.js.snap index ee1200bbf..1a79f694c 100644 --- a/web/cashtab/src/components/Home/__tests__/__snapshots__/Home.test.js.snap +++ b/web/cashtab/src/components/Home/__tests__/__snapshots__/Home.test.js.snap @@ -1,505 +1,505 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP @generated exports[`Wallet with BCH balances 1`] = ` Array [

MigrationTestAlpha

edit.svg
0 XEC
,
πŸŽ‰ Congratulations on your new wallet! πŸŽ‰
Start using the wallet immediately to receive XEC payments, or load it up with XEC to send to others
Create eToken

Tokens sent to your eToken address will appear here

, ] `; exports[`Wallet with BCH balances and tokens 1`] = ` Array [

MigrationTestAlpha

edit.svg
0 XEC
,
πŸŽ‰ Congratulations on your new wallet! πŸŽ‰
Start using the wallet immediately to receive XEC payments, or load it up with XEC to send to others
Create eToken

Tokens sent to your eToken address will appear here

, ] `; exports[`Wallet with BCH balances and tokens and state field 1`] = ` Array [

MigrationTestAlpha

edit.svg
0.06 XEC
,
πŸŽ‰ Congratulations on your new wallet! πŸŽ‰
Start using the wallet immediately to receive XEC payments, or load it up with XEC to send to others
, ] `; exports[`Wallet without BCH balance 1`] = ` Array [

MigrationTestAlpha

edit.svg
0 XEC
,
πŸŽ‰ Congratulations on your new wallet! πŸŽ‰
Start using the wallet immediately to receive XEC payments, or load it up with XEC to send to others
Create eToken

Tokens sent to your eToken address will appear here

, ] `; exports[`Without wallet defined 1`] = `

Welcome to Cashtab!

Cashtab is an open source, non-custodial web wallet for eCash .

Want to learn more? Check out the Cashtab documentation.

`; diff --git a/web/cashtab/src/components/Receive/__tests__/__snapshots__/Receive.test.js.snap b/web/cashtab/src/components/Receive/__tests__/__snapshots__/Receive.test.js.snap index 04a994b3b..67503a39c 100644 --- a/web/cashtab/src/components/Receive/__tests__/__snapshots__/Receive.test.js.snap +++ b/web/cashtab/src/components/Receive/__tests__/__snapshots__/Receive.test.js.snap @@ -1,586 +1,586 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP @generated exports[`Wallet with BCH balances 1`] = `

Receive XEC

Copied
ecash:qzagy47mvh6qxkvcn3acjnz73rkhkc6y7ccxkrr6zd
ecash: qzagy47m vh6qxkvcn3acjnz73rkhkc6y7c cxkrr6zd
XEC
eToken
`; exports[`Wallet with BCH balances and tokens 1`] = `

Receive XEC

Copied
ecash:qzagy47mvh6qxkvcn3acjnz73rkhkc6y7ccxkrr6zd
ecash: qzagy47m vh6qxkvcn3acjnz73rkhkc6y7c cxkrr6zd
XEC
eToken
`; exports[`Wallet with BCH balances and tokens and state field 1`] = `

Receive XEC

Copied
ecash:qzagy47mvh6qxkvcn3acjnz73rkhkc6y7ccxkrr6zd
ecash: qzagy47m vh6qxkvcn3acjnz73rkhkc6y7c cxkrr6zd
XEC
eToken
`; exports[`Wallet without BCH balance 1`] = `

Receive XEC

Copied
ecash:qzagy47mvh6qxkvcn3acjnz73rkhkc6y7ccxkrr6zd
ecash: qzagy47m vh6qxkvcn3acjnz73rkhkc6y7c cxkrr6zd
XEC
eToken
`; exports[`Without wallet defined 1`] = `

Welcome to Cashtab!

Cashtab is an open source, non-custodial web wallet for eCash .

Want to learn more? Check out the Cashtab documentation.

`; diff --git a/web/cashtab/src/components/Send/__tests__/__snapshots__/Send.test.js.snap b/web/cashtab/src/components/Send/__tests__/__snapshots__/Send.test.js.snap index ba2ef5dcf..2164bde33 100644 --- a/web/cashtab/src/components/Send/__tests__/__snapshots__/Send.test.js.snap +++ b/web/cashtab/src/components/Send/__tests__/__snapshots__/Send.test.js.snap @@ -1,2876 +1,2876 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP @generated exports[`Wallet with BCH balances 1`] = ` Array [

MigrationTestAlpha

edit.svg
You currently have 0 XEC
Deposit some funds to use this feature
,
XEC
max

0 XEC

= $ NaN USD
Advanced
Sign Message
Verify Message
, ] `; exports[`Wallet with BCH balances and tokens 1`] = ` Array [

MigrationTestAlpha

edit.svg
You currently have 0 XEC
Deposit some funds to use this feature
,
XEC
max

0 XEC

= $ NaN USD
Advanced
Sign Message
Verify Message
, ] `; exports[`Wallet with BCH balances and tokens and state field 1`] = ` Array [

MigrationTestAlpha

edit.svg
0.06 XEC
,
XEC
max

0 XEC

= $ NaN USD
Advanced
Sign Message
Verify Message
, ] `; exports[`Wallet without BCH balance 1`] = ` Array [

MigrationTestAlpha

edit.svg
You currently have 0 XEC
Deposit some funds to use this feature
,
XEC
max

0 XEC

= $ NaN USD
Advanced
Sign Message
Verify Message
, ] `; exports[`Without wallet defined 1`] = ` Array [
You currently have 0 XEC
Deposit some funds to use this feature
,
XEC
max

0 XEC

= $ NaN USD
Advanced
Sign Message
Verify Message
, ] `; diff --git a/web/cashtab/src/components/Send/__tests__/__snapshots__/SendToken.test.js.snap b/web/cashtab/src/components/Send/__tests__/__snapshots__/SendToken.test.js.snap index 83e30bbe3..36e9b4562 100644 --- a/web/cashtab/src/components/Send/__tests__/__snapshots__/SendToken.test.js.snap +++ b/web/cashtab/src/components/Send/__tests__/__snapshots__/SendToken.test.js.snap @@ -1,238 +1,238 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP @generated exports[`Wallet with BCH balances and tokens 1`] = `null`; exports[`Wallet with BCH balances and tokens and state field 1`] = `
6.001 TBS
`; exports[`Without wallet defined 1`] = `null`; diff --git a/web/cashtab/src/components/Tokens/__tests__/__snapshots__/CreateTokenForm.test.js.snap b/web/cashtab/src/components/Tokens/__tests__/__snapshots__/CreateTokenForm.test.js.snap index 4fda72f81..d21d224a7 100644 --- a/web/cashtab/src/components/Tokens/__tests__/__snapshots__/CreateTokenForm.test.js.snap +++ b/web/cashtab/src/components/Tokens/__tests__/__snapshots__/CreateTokenForm.test.js.snap @@ -1,354 +1,354 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP @generated exports[`Wallet with BCH balances and tokens and state field 1`] = `

Create a Token

Click, or drag file to this area to upload

Only jpg or png accepted

`; diff --git a/web/cashtab/src/components/Tokens/__tests__/__snapshots__/Tokens.test.js.snap b/web/cashtab/src/components/Tokens/__tests__/__snapshots__/Tokens.test.js.snap index 86c92b7aa..2527783e7 100644 --- a/web/cashtab/src/components/Tokens/__tests__/__snapshots__/Tokens.test.js.snap +++ b/web/cashtab/src/components/Tokens/__tests__/__snapshots__/Tokens.test.js.snap @@ -1,629 +1,629 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP @generated exports[`Wallet with BCH balances 1`] = ` Array [

MigrationTestAlpha

edit.svg
0 XEC
,

Create a Token

You need at least 5.5 XEC ( $ NaN USD ) to create a token

, ] `; exports[`Wallet with BCH balances and tokens 1`] = ` Array [

MigrationTestAlpha

edit.svg
0 XEC
,

Create a Token

You need at least 5.5 XEC ( $ NaN USD ) to create a token

, ] `; exports[`Wallet with BCH balances and tokens and state field 1`] = ` Array [

MigrationTestAlpha

edit.svg
0.06 XEC
,

Create a Token

Click, or drag file to this area to upload

Only jpg or png accepted

, ] `; exports[`Wallet without BCH balance 1`] = ` Array [

MigrationTestAlpha

edit.svg
0 XEC
,

Create a Token

You need at least 5.5 XEC ( $ NaN USD ) to create a token

, ] `; exports[`Without wallet defined 1`] = ` Array [ ,

Create a Token

You need at least 5.5 XEC ( $ NaN USD ) to create a token

, ] `; diff --git a/web/cashtab/src/utils/__mocks__/chronikTxHistory.js b/web/cashtab/src/utils/__mocks__/chronikTxHistory.js index f70401d35..725f09ce5 100644 --- a/web/cashtab/src/utils/__mocks__/chronikTxHistory.js +++ b/web/cashtab/src/utils/__mocks__/chronikTxHistory.js @@ -1,7236 +1,7388 @@ export const mockTxHistoryOfAllAddresses = [ { txs: [ { txid: '56e9b1d16c9989186c846187db57d9a9389c3ecc74e7237c1d1d0327cf904a55', version: 2, inputs: [ { prevOut: { txid: 'd27609956b0e4313f807fd58b82cc77f9b2bba1a792eac02707462a3d6863958', outIdx: 2, }, inputScript: '473044022024a187f6dc32082e765eeb37e1a6726e99871b3df0c385ad135ddcf73df0e79102203b81d7eb112a193e23147974432bb12116d75e995aa8c3b6a51943cc4dbd8694412102c0850ac54a3915aa762c1ada2f50076b2aa4bc7d188eee9b5af6ddfa412a363f', outputScript: '76a914a9f494266e4b3c823712f27dedcb83e30b2fe59f88ac', value: '12214100', sequenceNo: 4294967295, }, ], outputs: [ { value: '0', outputScript: '6a04534c500001010747454e4553495303434b410d4368726f6e696b20416c7068611468747470733a2f2f636173687461622e636f6d2f4c0001084c000800000014b230ce38', }, { value: '546', outputScript: '76a91495e79f51d4260bc0dc3ba7fb77c7be92d0fbdd1d88ac', slpToken: { amount: '88888888888', isMintBaton: false, }, spentBy: { txid: 'a83257b2facf7c6d4f8df9a307dee9cc79af9323b8bb803994d5c967bf916569', outIdx: 1, }, }, { value: '12213031', outputScript: '76a91495e79f51d4260bc0dc3ba7fb77c7be92d0fbdd1d88ac', spentBy: { txid: '5fc6f53ef0f94e66d5f6983402441cfdece1dbd35bd500b6e15881d1b37aa93f', outIdx: 67, }, }, ], lockTime: 0, slpTxData: { slpMeta: { tokenType: 'FUNGIBLE', txType: 'GENESIS', tokenId: '56e9b1d16c9989186c846187db57d9a9389c3ecc74e7237c1d1d0327cf904a55', }, genesisInfo: { tokenTicker: 'CKA', tokenName: 'Chronik Alpha', tokenDocumentUrl: 'https://cashtab.com/', tokenDocumentHash: '', decimals: 8, }, }, block: { height: 757174, hash: '000000000000000011c5e064ac6295bb1c1e1c306019e591b9c79290c24c33ff', timestamp: '1663091856', }, timeFirstSeen: '1663091668', size: 304, isCoinbase: false, network: 'XEC', }, { txid: 'd27609956b0e4313f807fd58b82cc77f9b2bba1a792eac02707462a3d6863958', version: 2, inputs: [ { prevOut: { txid: 'd0470ea0b1e0d5cc6a20085ca1436e8c4752415a450a981ef2dd23105bbe2550', outIdx: 3, }, inputScript: '47304402201623de13a2cd38d379a08dbee1cb2239571b6166bf9923ffe44ae108fd21931c022030dcd5b08a997dcaa7af505a5e513985317b2da91d2f4d4879ee941e3b8931ad412102c0850ac54a3915aa762c1ada2f50076b2aa4bc7d188eee9b5af6ddfa412a363f', outputScript: '76a914a9f494266e4b3c823712f27dedcb83e30b2fe59f88ac', value: '12218055', sequenceNo: 4294967295, }, ], outputs: [ { value: '0', outputScript: '6a04657461624c910458f886baf61daf6fa1909aab79e30bca8d35d634c6c5e969b2157b87e67fa010252a9fd1eebeed00075d0fb7bcc0dcb73b41cc73adacdae2be18d31643ad3f33d95f9a97e7cf00b2231fd0a7d37f36d082c86a392bde59eac693c002f861082d7d3cbc23eafd4511afe3619bfc0f0c028454038dee71a6e7796395574b9a06b9bf7aaf0cd607e59f4ad641393d746f88', }, { value: '3500', outputScript: '76a9149ee95bbfbdd2cf0eb6005bd75f717e4193b5913488ac', }, { value: '12214100', outputScript: '76a914a9f494266e4b3c823712f27dedcb83e30b2fe59f88ac', spentBy: { txid: '56e9b1d16c9989186c846187db57d9a9389c3ecc74e7237c1d1d0327cf904a55', outIdx: 0, }, }, ], lockTime: 0, block: { height: 757171, hash: '00000000000000000518fc1d8fe67064dcaec41264773455a988c9d0c12f58ad', timestamp: '1663090626', }, timeFirstSeen: '1663089642', size: 387, isCoinbase: false, network: 'XEC', }, { txid: 'd0470ea0b1e0d5cc6a20085ca1436e8c4752415a450a981ef2dd23105bbe2550', version: 2, inputs: [ { prevOut: { txid: 'a5f2a143eeec451c0714e430dd5553cbee26f6f05571a316dfb784b3454855d9', outIdx: 2, }, inputScript: '47304402202267233e578abb21efa28bc606501f582f94915d3b07ceedff39750877c7211d02206cfec78f41fe58723938c199fa908f4e13ebb298cc989be30faa1e6838c22af1412102c0850ac54a3915aa762c1ada2f50076b2aa4bc7d188eee9b5af6ddfa412a363f', outputScript: '76a914a9f494266e4b3c823712f27dedcb83e30b2fe59f88ac', value: '12224078', sequenceNo: 4294967295, }, ], outputs: [ { value: '0', outputScript: '6a04007461621c54657374696e67206d756c74692d73656e642077697468206e6f7465', }, { value: '2200', outputScript: '76a91476458db0ed96fe9863fc1ccec9fa2cfab884b0f688ac', }, { value: '3300', outputScript: '76a9149ee95bbfbdd2cf0eb6005bd75f717e4193b5913488ac', }, { value: '12218055', outputScript: '76a914a9f494266e4b3c823712f27dedcb83e30b2fe59f88ac', spentBy: { txid: 'd27609956b0e4313f807fd58b82cc77f9b2bba1a792eac02707462a3d6863958', outIdx: 0, }, }, ], lockTime: 0, block: { height: 757171, hash: '00000000000000000518fc1d8fe67064dcaec41264773455a988c9d0c12f58ad', timestamp: '1663090626', }, timeFirstSeen: '1663089621', size: 303, isCoinbase: false, network: 'XEC', }, { txid: 'a5f2a143eeec451c0714e430dd5553cbee26f6f05571a316dfb784b3454855d9', version: 2, inputs: [ { prevOut: { txid: 'bdd18f49a557c57b79da4b8a3165be6202fb48809486ec04424de99f52abeee8', outIdx: 1, }, inputScript: '483045022100f3e4140c8f1614612c07ffe4d35e697d5ffd0931d7b18b9360f5f431c6704d11022002b5fd03e7f9b849fec1c0374dc3df2f1f2dae333980bd02aaa3710b66d1eb0e412102c0850ac54a3915aa762c1ada2f50076b2aa4bc7d188eee9b5af6ddfa412a363f', outputScript: '76a914a9f494266e4b3c823712f27dedcb83e30b2fe59f88ac', value: '12230101', sequenceNo: 4294967295, }, ], outputs: [ { value: '3300', outputScript: '76a9149ee95bbfbdd2cf0eb6005bd75f717e4193b5913488ac', }, { value: '2200', outputScript: '76a91476458db0ed96fe9863fc1ccec9fa2cfab884b0f688ac', }, { value: '12224078', outputScript: '76a914a9f494266e4b3c823712f27dedcb83e30b2fe59f88ac', spentBy: { txid: 'd0470ea0b1e0d5cc6a20085ca1436e8c4752415a450a981ef2dd23105bbe2550', outIdx: 0, }, }, ], lockTime: 0, block: { height: 757171, hash: '00000000000000000518fc1d8fe67064dcaec41264773455a988c9d0c12f58ad', timestamp: '1663090626', }, timeFirstSeen: '1663089593', size: 260, isCoinbase: false, network: 'XEC', }, { txid: 'bdd18f49a557c57b79da4b8a3165be6202fb48809486ec04424de99f52abeee8', version: 2, inputs: [ { prevOut: { txid: '71c0f2d76c81bb91c6bf4de69693d95e8f043af9e055e949616443090f961d80', outIdx: 2, }, inputScript: '4830450221008f8052c8b78a4d250f4596b3a14c85fb2d253ce20d972422829dc4a68a87320702202b7d272a96996bab1914f693939dfc6300184f5f3db0acc5acfc155ba19d7642412102c0850ac54a3915aa762c1ada2f50076b2aa4bc7d188eee9b5af6ddfa412a363f', outputScript: '76a914a9f494266e4b3c823712f27dedcb83e30b2fe59f88ac', value: '12233856', sequenceNo: 4294967295, }, ], outputs: [ { value: '3300', outputScript: '76a9149ee95bbfbdd2cf0eb6005bd75f717e4193b5913488ac', }, { value: '12230101', outputScript: '76a914a9f494266e4b3c823712f27dedcb83e30b2fe59f88ac', spentBy: { txid: 'a5f2a143eeec451c0714e430dd5553cbee26f6f05571a316dfb784b3454855d9', outIdx: 0, }, }, ], lockTime: 0, block: { height: 757171, hash: '00000000000000000518fc1d8fe67064dcaec41264773455a988c9d0c12f58ad', timestamp: '1663090626', }, timeFirstSeen: '1663089364', size: 226, isCoinbase: false, network: 'XEC', }, { txid: '71c0f2d76c81bb91c6bf4de69693d95e8f043af9e055e949616443090f961d80', version: 2, inputs: [ { prevOut: { txid: '3f7cbb380b2ad014fc6e95f2d4c10eda2f37c5686f6739af562e6e855c457b3b', outIdx: 1, }, inputScript: '473044022038c75f93d7abe8e6e63c0981203acd48c7e6df92ba52cc9399df84b0b367ee200220356508913a5f8ad94d126891fea372bb2bf66a249bdb63332a4625cb359865f8412102c0850ac54a3915aa762c1ada2f50076b2aa4bc7d188eee9b5af6ddfa412a363f', outputScript: '76a914a9f494266e4b3c823712f27dedcb83e30b2fe59f88ac', value: '12235011', sequenceNo: 4294967295, }, ], outputs: [ { value: '0', outputScript: '6a04007461620454657374', }, { value: '700', outputScript: '76a9149ee95bbfbdd2cf0eb6005bd75f717e4193b5913488ac', }, { value: '12233856', outputScript: '76a914a9f494266e4b3c823712f27dedcb83e30b2fe59f88ac', spentBy: { txid: 'bdd18f49a557c57b79da4b8a3165be6202fb48809486ec04424de99f52abeee8', outIdx: 0, }, }, ], lockTime: 0, block: { height: 755309, hash: '0000000000000000115c75e7b0728b548e9f21bb9ebdcad68d36475e712ceed5', timestamp: '1661972428', }, timeFirstSeen: '1661972247', size: 245, isCoinbase: false, network: 'XEC', }, { txid: '3f7cbb380b2ad014fc6e95f2d4c10eda2f37c5686f6739af562e6e855c457b3b', version: 2, inputs: [ { prevOut: { txid: 'bd0101c9389c5e1fada4662ea9ba7c8d71f949743e42f2db563cb0ec96bd10a3', outIdx: 1, }, inputScript: '483045022100f288e71276e2389744ecb3c98bdf0c119d19966ac086c5f5908f8c3a878aa7e402203c07905536720391f472457f52f5cf6aaeb4fa02fdf59722f25768a36fd6157f412102c0850ac54a3915aa762c1ada2f50076b2aa4bc7d188eee9b5af6ddfa412a363f', outputScript: '76a914a9f494266e4b3c823712f27dedcb83e30b2fe59f88ac', value: '12243166', sequenceNo: 4294967295, }, ], outputs: [ { value: '7700', outputScript: '76a9146ffbe7c7d7bd01295eb1e371de9550339bdcf9fd88ac', spentBy: { txid: '04eedd3f4b4dc9727e393ad3e774f2dc0c6acf9e920dc6fcbcbf95ed9b98477c', outIdx: 3, }, }, { value: '12235011', outputScript: '76a914a9f494266e4b3c823712f27dedcb83e30b2fe59f88ac', spentBy: { txid: '71c0f2d76c81bb91c6bf4de69693d95e8f043af9e055e949616443090f961d80', outIdx: 0, }, }, ], lockTime: 0, block: { height: 743257, hash: '000000000000000013259e217a18907ba956c55f839b6b15a11a79a2bf303d9f', timestamp: '1654812393', }, timeFirstSeen: '0', size: 226, isCoinbase: false, network: 'XEC', }, { txid: 'bd0101c9389c5e1fada4662ea9ba7c8d71f949743e42f2db563cb0ec96bd10a3', version: 2, inputs: [ { prevOut: { txid: '20230f564987e644070e35fa4a809b8d697c725023a903c638194231ddf9cfd3', outIdx: 2, }, inputScript: '483045022100d541ef12cc57c3b3cc95b338aec21775b27441d12eda662dcff23a46d07cc9450220467d2aae0dadcae787db33dab6adc86ec47aafea0133cc2130a62bb8247491d6412102c0850ac54a3915aa762c1ada2f50076b2aa4bc7d188eee9b5af6ddfa412a363f', outputScript: '76a914a9f494266e4b3c823712f27dedcb83e30b2fe59f88ac', value: '14743621', sequenceNo: 4294967295, }, ], outputs: [ { value: '2500000', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', spentBy: { txid: '55388f67ab1b23d2e6c146472b836c1ba1df33dd9b7685bed34c6c9ce6fe5c0e', outIdx: 0, }, }, { value: '12243166', outputScript: '76a914a9f494266e4b3c823712f27dedcb83e30b2fe59f88ac', spentBy: { txid: '3f7cbb380b2ad014fc6e95f2d4c10eda2f37c5686f6739af562e6e855c457b3b', outIdx: 0, }, }, ], lockTime: 0, block: { height: 742800, hash: '000000000000000009e1ed934f027563d161d1f59a00253496b0c847c2288c38', timestamp: '1654543720', }, timeFirstSeen: '0', size: 226, isCoinbase: false, network: 'XEC', }, { txid: '20230f564987e644070e35fa4a809b8d697c725023a903c638194231ddf9cfd3', version: 2, inputs: [ { prevOut: { txid: '41e306829bca85422ac5cbf2baad3d1a4e79c3bbb8f042cf0aa7ae2df49535a5', outIdx: 1, }, inputScript: '473044022046faa2cc8efc0a06b2cfa8b80b658d4dc09bc1524cba1cb4ab456f8bc9ebf37902205074d7975824a06d6cba90dc91503f29801d9c180253bbe4ecefb42ddc82da6d412102c0850ac54a3915aa762c1ada2f50076b2aa4bc7d188eee9b5af6ddfa412a363f', outputScript: '76a914a9f494266e4b3c823712f27dedcb83e30b2fe59f88ac', value: '14746276', sequenceNo: 4294967295, }, ], outputs: [ { value: '0', outputScript: '6a04657461624c810406fe30e60d38c4408043ca5b43cd515db4b10af477007962db6d019eeb9c3f6734c495574368da107bb00b32a27d096069706a0fb91fe18d0d8281c1b826fdd862a1955dd0d28b4e0245c862085f172d3947ca202953095ed014258f069c4d3fc36706e842b6643061e4ce70b91fb5b5b206de4d3b81a621ad9d4456c3f0cf6b', }, { value: '2200', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', spentBy: { txid: '31e5bf25b892e173483c7b100a5b0fcda03cac9337c335fda3b3a5cf17b64759', outIdx: 0, }, }, { value: '14743621', outputScript: '76a914a9f494266e4b3c823712f27dedcb83e30b2fe59f88ac', spentBy: { txid: 'bd0101c9389c5e1fada4662ea9ba7c8d71f949743e42f2db563cb0ec96bd10a3', outIdx: 0, }, }, ], lockTime: 0, block: { height: 741058, hash: '00000000000000000bb6dc63cd48a9b0dcf37a9b722618209dc85a79e8dc7973', timestamp: '1653506978', }, timeFirstSeen: '0', size: 371, isCoinbase: false, network: 'XEC', }, { txid: '41e306829bca85422ac5cbf2baad3d1a4e79c3bbb8f042cf0aa7ae2df49535a5', version: 2, inputs: [ { prevOut: { txid: '63a11be653e333ae3e1075791c996d46b5f476b483c4ccf4ec33b524028d7cd5', outIdx: 1, }, inputScript: '47304402204c6140c524e40653e85440aff615af47a481accc9dc8b45548d59a3ae91d3a0802200aa1667d00b16d3a80c5d4d1b4cabeee415289ef6818496f92abf9ec2db8262c412102c0850ac54a3915aa762c1ada2f50076b2aa4bc7d188eee9b5af6ddfa412a363f', outputScript: '76a914a9f494266e4b3c823712f27dedcb83e30b2fe59f88ac', value: '14748931', sequenceNo: 4294967295, }, ], outputs: [ { value: '2200', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', spentBy: { txid: '46158de814d73ded1a8f91221c85d9c91c696eaf14f0bd10e6fa7215bacf7852', outIdx: 1, }, }, { value: '14746276', outputScript: '76a914a9f494266e4b3c823712f27dedcb83e30b2fe59f88ac', spentBy: { txid: '20230f564987e644070e35fa4a809b8d697c725023a903c638194231ddf9cfd3', outIdx: 0, }, }, ], lockTime: 0, block: { height: 739747, hash: '0000000000000000079aa77192cf335b2004788c2860be98c310a5187a588dd3', timestamp: '1652722196', }, timeFirstSeen: '0', size: 225, isCoinbase: false, network: 'XEC', }, ], numPages: 2, }, { txs: [], numPages: 0, }, { txs: [ { txid: '09033290a18b5c3054dbb6df8b6ad5c3e2bc121ab4cb2a91f79cedb36f05a2ef', version: 2, inputs: [ { prevOut: { txid: 'c0ab154992174fc86381540dbf016d64c4e218a07aec7d5734a841ccbab93e1c', outIdx: 0, }, inputScript: '483045022100f50735a67538602ec240725f9160bdfc96b4ae443fff2cebaf25485e8f98f5720220584ab745222cc7a0cd33d6f287885781b8009bc1e819b9b97436ecdb31abeff2412103318d0e1109f32debc66952d0e3ec21b1cf96575ea4c2a97a6535628f7f8b10e6', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', value: '49545', sequenceNo: 4294967295, }, ], outputs: [ { value: '1300', outputScript: '76a91495e79f51d4260bc0dc3ba7fb77c7be92d0fbdd1d88ac', }, { value: '47790', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', }, ], lockTime: 0, block: { height: 758570, hash: '00000000000000000d1c7a165d8d185103ab30fb2d113334a9d8ee6cb6a9d268', timestamp: '1663956316', }, timeFirstSeen: '1663956020', size: 226, isCoinbase: false, network: 'XEC', }, { txid: 'daf142f1f90dc81efeafb94f986b951ff3bae6fb155565d96fd091e34e61ee29', version: 2, inputs: [ { prevOut: { txid: '5b679c422abc750576c188e3ed0729fb0e452f6ae0a8ad118026755fbceb00b1', outIdx: 1, }, inputScript: '483045022100ac91ae0c612165e500605ae41080a30be891ef757c378733bfe5533f331d0e97022020babc7d6a267fc5fbab8ba9740968732978abf4cf63e049721c008532204bf8412103318d0e1109f32debc66952d0e3ec21b1cf96575ea4c2a97a6535628f7f8b10e6', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', value: '47562', sequenceNo: 4294967295, }, ], outputs: [ { value: '1200', outputScript: '76a91495e79f51d4260bc0dc3ba7fb77c7be92d0fbdd1d88ac', }, { value: '45907', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', }, ], lockTime: 0, block: { height: 758570, hash: '00000000000000000d1c7a165d8d185103ab30fb2d113334a9d8ee6cb6a9d268', timestamp: '1663956316', }, timeFirstSeen: '1663956011', size: 226, isCoinbase: false, network: 'XEC', }, { txid: '376593dc3d3e305843fe23692e1477ae13ae1e8bfc778273c544a0c5d6285337', version: 2, inputs: [ { prevOut: { txid: '930259a2fe4de56a15ab33d5f2b13bfd08568c3d662df6b1a3c090a19aab8104', outIdx: 0, }, inputScript: '48304502210086a6072eaabb3502c73cbb6701c04edca374de60d62b888614d76b352203e9d602205721cec95da5a0ceda4cf54bf4bf8f54bec3d07b1caa75e1d65a87d8b5572f0f412103318d0e1109f32debc66952d0e3ec21b1cf96575ea4c2a97a6535628f7f8b10e6', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', value: '3300', sequenceNo: 4294967295, }, ], outputs: [ { value: '1100', outputScript: '76a91495e79f51d4260bc0dc3ba7fb77c7be92d0fbdd1d88ac', }, { value: '1745', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', }, ], lockTime: 0, block: { height: 758570, hash: '00000000000000000d1c7a165d8d185103ab30fb2d113334a9d8ee6cb6a9d268', timestamp: '1663956316', }, timeFirstSeen: '1663956003', size: 226, isCoinbase: false, network: 'XEC', }, { txid: '2faa94a50ddffc795f6044214efbca0d0190ed520e7e0fd35c4623ecd64b4e45', version: 2, inputs: [ { prevOut: { txid: '08ac32dc47252668cd32dbe0d9af15d1ae9e282ae56c3743a258d11613105924', outIdx: 0, }, inputScript: '47304402207031eafbfb4f762f1eb719defa8cb890f55085c593244eecce57082b7013fd4f02205178c40c57903baa3d9ebf554d2f3892859599b6e358e10725db81c14de4c80f412103318d0e1109f32debc66952d0e3ec21b1cf96575ea4c2a97a6535628f7f8b10e6', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', value: '2200', sequenceNo: 4294967295, }, { prevOut: { txid: '47d4940ded21de01c62675d31e211a381cc7d866dcf292af0422cdc616d927a8', outIdx: 2, }, inputScript: '473044022058d957ffc312b4f9eefd71fb2c708e0a82bf72e56fdb322d75b4201453e413c402200df9176569cb2523f541dcff39f27c116926b214de37109775f3e5015e050604412103318d0e1109f32debc66952d0e3ec21b1cf96575ea4c2a97a6535628f7f8b10e6', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', value: '546', sequenceNo: 4294967295, slpToken: { amount: '34', isMintBaton: false, }, }, ], outputs: [ { value: '0', outputScript: '6a04534c500001010453454e44204bd147fc5d5ff26249a9299c46b80920c0b81f59a60e05428262160ebee0b0c308000000000000000508000000000000001d', }, { value: '546', outputScript: '76a91495e79f51d4260bc0dc3ba7fb77c7be92d0fbdd1d88ac', slpToken: { amount: '5', isMintBaton: false, }, }, { value: '546', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', slpToken: { amount: '29', isMintBaton: false, }, }, ], lockTime: 0, slpTxData: { slpMeta: { tokenType: 'FUNGIBLE', txType: 'SEND', tokenId: '4bd147fc5d5ff26249a9299c46b80920c0b81f59a60e05428262160ebee0b0c3', }, }, block: { height: 758570, hash: '00000000000000000d1c7a165d8d185103ab30fb2d113334a9d8ee6cb6a9d268', timestamp: '1663956316', }, timeFirstSeen: '1663955995', size: 445, isCoinbase: false, network: 'XEC', }, { txid: '050705e14d2d27e1cb59127617d54a5cccd91c4cad6ffe8c2c6eb684e9d76042', version: 2, inputs: [ { prevOut: { txid: 'a429b818424b74153b363e487a577142f4e9bd67530739ed6883d8a6d71ea947', outIdx: 0, }, inputScript: '483045022100f4734cb1a5e7a64013b5408b9d0d6bc59560b08b9e7284f8bbba217f777f772c02204625fab8a1356f96f00a463be8aa64e90f663744554df60807d1aa1e00d19c5e412103318d0e1109f32debc66952d0e3ec21b1cf96575ea4c2a97a6535628f7f8b10e6', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', value: '1100', sequenceNo: 4294967295, }, { prevOut: { txid: 'e9c384cc569ad83d4fc61a54cac405ff2d64a5f532d94006bc38b87296c6bf63', outIdx: 0, }, inputScript: '483045022100892a72b025cd5cd667bace86dfc605169018d9b46fa9ba2ef963e4dbe26a471702201283b63ebe679be3c27edc7b37aff829ba34503430147e203661d4d4ec4f14a5412103318d0e1109f32debc66952d0e3ec21b1cf96575ea4c2a97a6535628f7f8b10e6', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', value: '7700', sequenceNo: 4294967295, }, { prevOut: { txid: '7a197add9eb4a57d854aaf31dd12fd71a806e4ba4fb4bf23ed7097cd281faae2', outIdx: 2, }, inputScript: '47304402203bcfcdbd76587aaa0b525edec82a5078daef892a98ae76d39accf1d874bd526d02202e2eba394d27b82c54fd3605ebafe7d6c9d2e7fa5dc769a4dc113dfbf5025a9d412103318d0e1109f32debc66952d0e3ec21b1cf96575ea4c2a97a6535628f7f8b10e6', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', value: '546', sequenceNo: 4294967295, slpToken: { amount: '126', isMintBaton: false, }, }, ], outputs: [ { value: '0', outputScript: '6a04534c500001010453454e44204bd147fc5d5ff26249a9299c46b80920c0b81f59a60e05428262160ebee0b0c308000000000000000108000000000000007d', }, { value: '546', outputScript: '76a91495e79f51d4260bc0dc3ba7fb77c7be92d0fbdd1d88ac', slpToken: { amount: '1', isMintBaton: false, }, }, { value: '546', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', slpToken: { amount: '125', isMintBaton: false, }, }, { value: '6655', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', }, ], lockTime: 0, slpTxData: { slpMeta: { tokenType: 'FUNGIBLE', txType: 'SEND', tokenId: '4bd147fc5d5ff26249a9299c46b80920c0b81f59a60e05428262160ebee0b0c3', }, }, block: { height: 758569, hash: '00000000000000000cbb0ac1fe8b1a4a87cd9bf58e7158333a1c32009c9137f0', timestamp: '1663955917', }, timeFirstSeen: '1663955725', size: 628, isCoinbase: false, network: 'XEC', }, { txid: 'c66b09f5c6b2afa5c63ff7c2ca2cc8d9538568a18c75b0e7d900c9c1be2758f7', version: 2, inputs: [ { prevOut: { txid: '43beeeeb761c401a1d121840e87c86237c98e9310e889feb0a34426e2a1ee463', outIdx: 0, }, inputScript: '4730440220606efba360bf0843f8c3fe9fab7d1cdc34852395b9045a4c3cf8f27b91d414f2022054fb11ce6e4fd2ee50ba467e94460c63e45fb563e330fc35c5caa8eea71e93b7412103318d0e1109f32debc66952d0e3ec21b1cf96575ea4c2a97a6535628f7f8b10e6', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', value: '3300', sequenceNo: 4294967295, }, ], outputs: [ { value: '1900', outputScript: '76a91495e79f51d4260bc0dc3ba7fb77c7be92d0fbdd1d88ac', }, { value: '945', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', }, ], lockTime: 0, block: { height: 758569, hash: '00000000000000000cbb0ac1fe8b1a4a87cd9bf58e7158333a1c32009c9137f0', timestamp: '1663955917', }, timeFirstSeen: '1663955710', size: 225, isCoinbase: false, network: 'XEC', }, { txid: '96c9031e30dba075dd83f622ed952ef7bb75fe12abdad962e70e9904272a7532', version: 2, inputs: [ { prevOut: { txid: '08cb593e2b2d0a47649990591bf30eee51534f85658fc8ee4e98e12e1c5c5553', outIdx: 0, }, inputScript: '47304402204569cce381885918e300caef1e8a5388b86be871ff3e8f8f52917c26df9dde760220474e3ce3f6363a826d2772e347c296773ea838f493882e15fdc6a5181286a92c412103318d0e1109f32debc66952d0e3ec21b1cf96575ea4c2a97a6535628f7f8b10e6', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', value: '1700', sequenceNo: 4294967295, }, { prevOut: { txid: 'cb68f53c0e46ab2ec0ceb28d87aa5b8b8a059c72b3c1f977141760d8dc93c821', outIdx: 0, }, inputScript: '47304402206355208bd3eae6d3468a062a6cc33340cd82e0e5def4dad1efa7caee652b21b40220619f05019e5014f1154659bbf5a46f4abbf93e04eecca8c509d231eb2a495f41412103318d0e1109f32debc66952d0e3ec21b1cf96575ea4c2a97a6535628f7f8b10e6', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', value: '3300', sequenceNo: 4294967295, }, ], outputs: [ { value: '1800', outputScript: '76a91495e79f51d4260bc0dc3ba7fb77c7be92d0fbdd1d88ac', }, { value: '2448', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', }, ], lockTime: 0, block: { height: 758569, hash: '00000000000000000cbb0ac1fe8b1a4a87cd9bf58e7158333a1c32009c9137f0', timestamp: '1663955917', }, timeFirstSeen: '1663955701', size: 372, isCoinbase: false, network: 'XEC', }, { txid: 'c25516f6d82e4299849edbd730ecb55b2b0e4745d95735b43bb4d16a67f50113', version: 2, inputs: [ { prevOut: { txid: 'a737c1372586cf30d76d8bdcac8e96e2c321f667a77ec4bb9980e603e2a77b3d', outIdx: 0, }, inputScript: '4730440220665f4bf3d94204649f8a1731285eb6e94940e38a3601504612374ec0a06ff27f02206276844772b498726e3e56145d42f2316da5646619d8288598f18e828426881f412103318d0e1109f32debc66952d0e3ec21b1cf96575ea4c2a97a6535628f7f8b10e6', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', value: '2200', sequenceNo: 4294967295, }, ], outputs: [ { value: '1700', outputScript: '76a91495e79f51d4260bc0dc3ba7fb77c7be92d0fbdd1d88ac', }, ], lockTime: 0, block: { height: 758569, hash: '00000000000000000cbb0ac1fe8b1a4a87cd9bf58e7158333a1c32009c9137f0', timestamp: '1663955917', }, timeFirstSeen: '1663955694', size: 191, isCoinbase: false, network: 'XEC', }, { txid: 'de5c518dc2d3d52268c3aeb788134ac373553b2eb239f256fa463c728af87189', version: 2, inputs: [ { prevOut: { txid: '0c67c0b670378c6ae959172eefd099247be944cdb88108d52589731f2194d675', outIdx: 5, }, inputScript: '47304402204b4de25ffee112642136a6d1ad74394c7bfb984a08703d5362500a5521d346dc022053c3e887d7bb27a2525140789a7f450b0995781787ce28750dca1421b746721f412103771805b54969a9bea4e3eb14a82851c67592156ddb5e52d3d53677d14a40fba6', outputScript: '76a91495e79f51d4260bc0dc3ba7fb77c7be92d0fbdd1d88ac', value: '43783281', sequenceNo: 4294967295, }, { prevOut: { txid: '3515f4a9851ad44124e0ddf6149344deb27a97720fc7e5254a9d2c86da7415a9', outIdx: 1, }, inputScript: '483045022100d4d1566db73386cd9580ff6f2c60e1536993b459fb3b199d7514fbd6fb5042ca0220590e88aa183ed6a756fbb8d8ba4bf5133f578746a917fab1e1b8e712543c5861412103771805b54969a9bea4e3eb14a82851c67592156ddb5e52d3d53677d14a40fba6', outputScript: '76a91495e79f51d4260bc0dc3ba7fb77c7be92d0fbdd1d88ac', value: '546', sequenceNo: 4294967295, slpBurn: { token: { amount: '1', isMintBaton: false, }, tokenId: '3515f4a9851ad44124e0ddf6149344deb27a97720fc7e5254a9d2c86da7415a9', }, slpToken: { amount: '100', isMintBaton: false, }, }, ], outputs: [ { value: '0', outputScript: '6a04534c500001010453454e44203515f4a9851ad44124e0ddf6149344deb27a97720fc7e5254a9d2c86da7415a9080000000000000063', }, { value: '546', outputScript: '76a91495e79f51d4260bc0dc3ba7fb77c7be92d0fbdd1d88ac', slpToken: { amount: '99', isMintBaton: false, }, }, { value: '43781463', outputScript: '76a91495e79f51d4260bc0dc3ba7fb77c7be92d0fbdd1d88ac', }, ], lockTime: 0, slpTxData: { slpMeta: { tokenType: 'FUNGIBLE', txType: 'SEND', tokenId: '3515f4a9851ad44124e0ddf6149344deb27a97720fc7e5254a9d2c86da7415a9', }, }, block: { height: 758551, hash: '000000000000000004ac3b44419bb5f0e0b47937b3e7e781206270da01b4a53e', timestamp: '1663947923', }, timeFirstSeen: '1663947876', size: 437, isCoinbase: false, network: 'XEC', }, { txid: 'd34f524ca0509e83718516ce697eeed5452ea0e312bab50ce0172589275fdd84', version: 2, inputs: [ { prevOut: { txid: '696265ced15b8fdbacfa1a4f5e779575ff5faaf3ff4ad09e5691b2ed4cf50a84', outIdx: 3, }, inputScript: '483045022100e43086bb67006f6d5140a3329001bc53dabe2da4dbe7feae34dd5f10311b15ad022045da448bc99003af6cf6d4c74ec9891c60932013dde7451abca4a6bc40b6138d412103771805b54969a9bea4e3eb14a82851c67592156ddb5e52d3d53677d14a40fba6', outputScript: '76a91495e79f51d4260bc0dc3ba7fb77c7be92d0fbdd1d88ac', value: '10409988', sequenceNo: 4294967295, slpBurn: { token: { amount: '0', isMintBaton: false, }, tokenId: 'da9460ce4b1c92b4f6ef4e4a6bc2d05539f49d02b17681389d9ce22b8dca50f0', }, }, ], outputs: [ { value: '0', outputScript: '6a04657461624ca104acd46779fb7a9a8e24656ba7ffcbc066bb78701630b0a3fd1c36a3e2b605d78e1d995ea990096a3f76077985d2194fd1a87369921545a544992c86414ed859247ab8f9c2979ed9b8fecb2cfaa7ff74f1daf6f7c00f3d97a5b942aecba54bf155d464606b6faa6f5efcbdf3f525b3283acf6867d11cfc30623c3107a87b499f68ca00602492c9cdca9b481c7f2b65a6ecd481bfdd244954b32a45c658592182ad', }, { value: '1200', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', }, { value: '10408333', outputScript: '76a91495e79f51d4260bc0dc3ba7fb77c7be92d0fbdd1d88ac', }, ], lockTime: 0, block: { height: 758550, hash: '000000000000000009f8cdae9bb21a321896126e06413a4e8af24a182edf701e', timestamp: '1663947819', }, timeFirstSeen: '1663946739', size: 404, isCoinbase: false, network: 'XEC', }, ], numPages: 98, }, ]; export const mockFlatTxHistoryNoUnconfirmed = [ { txid: '56e9b1d16c9989186c846187db57d9a9389c3ecc74e7237c1d1d0327cf904a55', version: 2, inputs: [ { prevOut: { txid: 'd27609956b0e4313f807fd58b82cc77f9b2bba1a792eac02707462a3d6863958', outIdx: 2, }, inputScript: '473044022024a187f6dc32082e765eeb37e1a6726e99871b3df0c385ad135ddcf73df0e79102203b81d7eb112a193e23147974432bb12116d75e995aa8c3b6a51943cc4dbd8694412102c0850ac54a3915aa762c1ada2f50076b2aa4bc7d188eee9b5af6ddfa412a363f', outputScript: '76a914a9f494266e4b3c823712f27dedcb83e30b2fe59f88ac', value: '12214100', sequenceNo: 4294967295, }, ], outputs: [ { value: '0', outputScript: '6a04534c500001010747454e4553495303434b410d4368726f6e696b20416c7068611468747470733a2f2f636173687461622e636f6d2f4c0001084c000800000014b230ce38', }, { value: '546', outputScript: '76a91495e79f51d4260bc0dc3ba7fb77c7be92d0fbdd1d88ac', slpToken: { amount: '88888888888', isMintBaton: false, }, spentBy: { txid: 'a83257b2facf7c6d4f8df9a307dee9cc79af9323b8bb803994d5c967bf916569', outIdx: 1, }, }, { value: '12213031', outputScript: '76a91495e79f51d4260bc0dc3ba7fb77c7be92d0fbdd1d88ac', spentBy: { txid: '5fc6f53ef0f94e66d5f6983402441cfdece1dbd35bd500b6e15881d1b37aa93f', outIdx: 67, }, }, ], lockTime: 0, slpTxData: { slpMeta: { tokenType: 'FUNGIBLE', txType: 'GENESIS', tokenId: '56e9b1d16c9989186c846187db57d9a9389c3ecc74e7237c1d1d0327cf904a55', }, genesisInfo: { tokenTicker: 'CKA', tokenName: 'Chronik Alpha', tokenDocumentUrl: 'https://cashtab.com/', tokenDocumentHash: '', decimals: 8, }, }, block: { height: 757174, hash: '000000000000000011c5e064ac6295bb1c1e1c306019e591b9c79290c24c33ff', timestamp: '1663091856', }, timeFirstSeen: '1663091668', size: 304, isCoinbase: false, network: 'XEC', }, { txid: 'd27609956b0e4313f807fd58b82cc77f9b2bba1a792eac02707462a3d6863958', version: 2, inputs: [ { prevOut: { txid: 'd0470ea0b1e0d5cc6a20085ca1436e8c4752415a450a981ef2dd23105bbe2550', outIdx: 3, }, inputScript: '47304402201623de13a2cd38d379a08dbee1cb2239571b6166bf9923ffe44ae108fd21931c022030dcd5b08a997dcaa7af505a5e513985317b2da91d2f4d4879ee941e3b8931ad412102c0850ac54a3915aa762c1ada2f50076b2aa4bc7d188eee9b5af6ddfa412a363f', outputScript: '76a914a9f494266e4b3c823712f27dedcb83e30b2fe59f88ac', value: '12218055', sequenceNo: 4294967295, }, ], outputs: [ { value: '0', outputScript: '6a04657461624c910458f886baf61daf6fa1909aab79e30bca8d35d634c6c5e969b2157b87e67fa010252a9fd1eebeed00075d0fb7bcc0dcb73b41cc73adacdae2be18d31643ad3f33d95f9a97e7cf00b2231fd0a7d37f36d082c86a392bde59eac693c002f861082d7d3cbc23eafd4511afe3619bfc0f0c028454038dee71a6e7796395574b9a06b9bf7aaf0cd607e59f4ad641393d746f88', }, { value: '3500', outputScript: '76a9149ee95bbfbdd2cf0eb6005bd75f717e4193b5913488ac', }, { value: '12214100', outputScript: '76a914a9f494266e4b3c823712f27dedcb83e30b2fe59f88ac', spentBy: { txid: '56e9b1d16c9989186c846187db57d9a9389c3ecc74e7237c1d1d0327cf904a55', outIdx: 0, }, }, ], lockTime: 0, block: { height: 757171, hash: '00000000000000000518fc1d8fe67064dcaec41264773455a988c9d0c12f58ad', timestamp: '1663090626', }, timeFirstSeen: '1663089642', size: 387, isCoinbase: false, network: 'XEC', }, { txid: 'd0470ea0b1e0d5cc6a20085ca1436e8c4752415a450a981ef2dd23105bbe2550', version: 2, inputs: [ { prevOut: { txid: 'a5f2a143eeec451c0714e430dd5553cbee26f6f05571a316dfb784b3454855d9', outIdx: 2, }, inputScript: '47304402202267233e578abb21efa28bc606501f582f94915d3b07ceedff39750877c7211d02206cfec78f41fe58723938c199fa908f4e13ebb298cc989be30faa1e6838c22af1412102c0850ac54a3915aa762c1ada2f50076b2aa4bc7d188eee9b5af6ddfa412a363f', outputScript: '76a914a9f494266e4b3c823712f27dedcb83e30b2fe59f88ac', value: '12224078', sequenceNo: 4294967295, }, ], outputs: [ { value: '0', outputScript: '6a04007461621c54657374696e67206d756c74692d73656e642077697468206e6f7465', }, { value: '2200', outputScript: '76a91476458db0ed96fe9863fc1ccec9fa2cfab884b0f688ac', }, { value: '3300', outputScript: '76a9149ee95bbfbdd2cf0eb6005bd75f717e4193b5913488ac', }, { value: '12218055', outputScript: '76a914a9f494266e4b3c823712f27dedcb83e30b2fe59f88ac', spentBy: { txid: 'd27609956b0e4313f807fd58b82cc77f9b2bba1a792eac02707462a3d6863958', outIdx: 0, }, }, ], lockTime: 0, block: { height: 757171, hash: '00000000000000000518fc1d8fe67064dcaec41264773455a988c9d0c12f58ad', timestamp: '1663090626', }, timeFirstSeen: '1663089621', size: 303, isCoinbase: false, network: 'XEC', }, { txid: 'a5f2a143eeec451c0714e430dd5553cbee26f6f05571a316dfb784b3454855d9', version: 2, inputs: [ { prevOut: { txid: 'bdd18f49a557c57b79da4b8a3165be6202fb48809486ec04424de99f52abeee8', outIdx: 1, }, inputScript: '483045022100f3e4140c8f1614612c07ffe4d35e697d5ffd0931d7b18b9360f5f431c6704d11022002b5fd03e7f9b849fec1c0374dc3df2f1f2dae333980bd02aaa3710b66d1eb0e412102c0850ac54a3915aa762c1ada2f50076b2aa4bc7d188eee9b5af6ddfa412a363f', outputScript: '76a914a9f494266e4b3c823712f27dedcb83e30b2fe59f88ac', value: '12230101', sequenceNo: 4294967295, }, ], outputs: [ { value: '3300', outputScript: '76a9149ee95bbfbdd2cf0eb6005bd75f717e4193b5913488ac', }, { value: '2200', outputScript: '76a91476458db0ed96fe9863fc1ccec9fa2cfab884b0f688ac', }, { value: '12224078', outputScript: '76a914a9f494266e4b3c823712f27dedcb83e30b2fe59f88ac', spentBy: { txid: 'd0470ea0b1e0d5cc6a20085ca1436e8c4752415a450a981ef2dd23105bbe2550', outIdx: 0, }, }, ], lockTime: 0, block: { height: 757171, hash: '00000000000000000518fc1d8fe67064dcaec41264773455a988c9d0c12f58ad', timestamp: '1663090626', }, timeFirstSeen: '1663089593', size: 260, isCoinbase: false, network: 'XEC', }, { txid: 'bdd18f49a557c57b79da4b8a3165be6202fb48809486ec04424de99f52abeee8', version: 2, inputs: [ { prevOut: { txid: '71c0f2d76c81bb91c6bf4de69693d95e8f043af9e055e949616443090f961d80', outIdx: 2, }, inputScript: '4830450221008f8052c8b78a4d250f4596b3a14c85fb2d253ce20d972422829dc4a68a87320702202b7d272a96996bab1914f693939dfc6300184f5f3db0acc5acfc155ba19d7642412102c0850ac54a3915aa762c1ada2f50076b2aa4bc7d188eee9b5af6ddfa412a363f', outputScript: '76a914a9f494266e4b3c823712f27dedcb83e30b2fe59f88ac', value: '12233856', sequenceNo: 4294967295, }, ], outputs: [ { value: '3300', outputScript: '76a9149ee95bbfbdd2cf0eb6005bd75f717e4193b5913488ac', }, { value: '12230101', outputScript: '76a914a9f494266e4b3c823712f27dedcb83e30b2fe59f88ac', spentBy: { txid: 'a5f2a143eeec451c0714e430dd5553cbee26f6f05571a316dfb784b3454855d9', outIdx: 0, }, }, ], lockTime: 0, block: { height: 757171, hash: '00000000000000000518fc1d8fe67064dcaec41264773455a988c9d0c12f58ad', timestamp: '1663090626', }, timeFirstSeen: '1663089364', size: 226, isCoinbase: false, network: 'XEC', }, { txid: '71c0f2d76c81bb91c6bf4de69693d95e8f043af9e055e949616443090f961d80', version: 2, inputs: [ { prevOut: { txid: '3f7cbb380b2ad014fc6e95f2d4c10eda2f37c5686f6739af562e6e855c457b3b', outIdx: 1, }, inputScript: '473044022038c75f93d7abe8e6e63c0981203acd48c7e6df92ba52cc9399df84b0b367ee200220356508913a5f8ad94d126891fea372bb2bf66a249bdb63332a4625cb359865f8412102c0850ac54a3915aa762c1ada2f50076b2aa4bc7d188eee9b5af6ddfa412a363f', outputScript: '76a914a9f494266e4b3c823712f27dedcb83e30b2fe59f88ac', value: '12235011', sequenceNo: 4294967295, }, ], outputs: [ { value: '0', outputScript: '6a04007461620454657374', }, { value: '700', outputScript: '76a9149ee95bbfbdd2cf0eb6005bd75f717e4193b5913488ac', }, { value: '12233856', outputScript: '76a914a9f494266e4b3c823712f27dedcb83e30b2fe59f88ac', spentBy: { txid: 'bdd18f49a557c57b79da4b8a3165be6202fb48809486ec04424de99f52abeee8', outIdx: 0, }, }, ], lockTime: 0, block: { height: 755309, hash: '0000000000000000115c75e7b0728b548e9f21bb9ebdcad68d36475e712ceed5', timestamp: '1661972428', }, timeFirstSeen: '1661972247', size: 245, isCoinbase: false, network: 'XEC', }, { txid: '3f7cbb380b2ad014fc6e95f2d4c10eda2f37c5686f6739af562e6e855c457b3b', version: 2, inputs: [ { prevOut: { txid: 'bd0101c9389c5e1fada4662ea9ba7c8d71f949743e42f2db563cb0ec96bd10a3', outIdx: 1, }, inputScript: '483045022100f288e71276e2389744ecb3c98bdf0c119d19966ac086c5f5908f8c3a878aa7e402203c07905536720391f472457f52f5cf6aaeb4fa02fdf59722f25768a36fd6157f412102c0850ac54a3915aa762c1ada2f50076b2aa4bc7d188eee9b5af6ddfa412a363f', outputScript: '76a914a9f494266e4b3c823712f27dedcb83e30b2fe59f88ac', value: '12243166', sequenceNo: 4294967295, }, ], outputs: [ { value: '7700', outputScript: '76a9146ffbe7c7d7bd01295eb1e371de9550339bdcf9fd88ac', spentBy: { txid: '04eedd3f4b4dc9727e393ad3e774f2dc0c6acf9e920dc6fcbcbf95ed9b98477c', outIdx: 3, }, }, { value: '12235011', outputScript: '76a914a9f494266e4b3c823712f27dedcb83e30b2fe59f88ac', spentBy: { txid: '71c0f2d76c81bb91c6bf4de69693d95e8f043af9e055e949616443090f961d80', outIdx: 0, }, }, ], lockTime: 0, block: { height: 743257, hash: '000000000000000013259e217a18907ba956c55f839b6b15a11a79a2bf303d9f', timestamp: '1654812393', }, timeFirstSeen: '0', size: 226, isCoinbase: false, network: 'XEC', }, { txid: 'bd0101c9389c5e1fada4662ea9ba7c8d71f949743e42f2db563cb0ec96bd10a3', version: 2, inputs: [ { prevOut: { txid: '20230f564987e644070e35fa4a809b8d697c725023a903c638194231ddf9cfd3', outIdx: 2, }, inputScript: '483045022100d541ef12cc57c3b3cc95b338aec21775b27441d12eda662dcff23a46d07cc9450220467d2aae0dadcae787db33dab6adc86ec47aafea0133cc2130a62bb8247491d6412102c0850ac54a3915aa762c1ada2f50076b2aa4bc7d188eee9b5af6ddfa412a363f', outputScript: '76a914a9f494266e4b3c823712f27dedcb83e30b2fe59f88ac', value: '14743621', sequenceNo: 4294967295, }, ], outputs: [ { value: '2500000', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', spentBy: { txid: '55388f67ab1b23d2e6c146472b836c1ba1df33dd9b7685bed34c6c9ce6fe5c0e', outIdx: 0, }, }, { value: '12243166', outputScript: '76a914a9f494266e4b3c823712f27dedcb83e30b2fe59f88ac', spentBy: { txid: '3f7cbb380b2ad014fc6e95f2d4c10eda2f37c5686f6739af562e6e855c457b3b', outIdx: 0, }, }, ], lockTime: 0, block: { height: 742800, hash: '000000000000000009e1ed934f027563d161d1f59a00253496b0c847c2288c38', timestamp: '1654543720', }, timeFirstSeen: '0', size: 226, isCoinbase: false, network: 'XEC', }, { txid: '20230f564987e644070e35fa4a809b8d697c725023a903c638194231ddf9cfd3', version: 2, inputs: [ { prevOut: { txid: '41e306829bca85422ac5cbf2baad3d1a4e79c3bbb8f042cf0aa7ae2df49535a5', outIdx: 1, }, inputScript: '473044022046faa2cc8efc0a06b2cfa8b80b658d4dc09bc1524cba1cb4ab456f8bc9ebf37902205074d7975824a06d6cba90dc91503f29801d9c180253bbe4ecefb42ddc82da6d412102c0850ac54a3915aa762c1ada2f50076b2aa4bc7d188eee9b5af6ddfa412a363f', outputScript: '76a914a9f494266e4b3c823712f27dedcb83e30b2fe59f88ac', value: '14746276', sequenceNo: 4294967295, }, ], outputs: [ { value: '0', outputScript: '6a04657461624c810406fe30e60d38c4408043ca5b43cd515db4b10af477007962db6d019eeb9c3f6734c495574368da107bb00b32a27d096069706a0fb91fe18d0d8281c1b826fdd862a1955dd0d28b4e0245c862085f172d3947ca202953095ed014258f069c4d3fc36706e842b6643061e4ce70b91fb5b5b206de4d3b81a621ad9d4456c3f0cf6b', }, { value: '2200', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', spentBy: { txid: '31e5bf25b892e173483c7b100a5b0fcda03cac9337c335fda3b3a5cf17b64759', outIdx: 0, }, }, { value: '14743621', outputScript: '76a914a9f494266e4b3c823712f27dedcb83e30b2fe59f88ac', spentBy: { txid: 'bd0101c9389c5e1fada4662ea9ba7c8d71f949743e42f2db563cb0ec96bd10a3', outIdx: 0, }, }, ], lockTime: 0, block: { height: 741058, hash: '00000000000000000bb6dc63cd48a9b0dcf37a9b722618209dc85a79e8dc7973', timestamp: '1653506978', }, timeFirstSeen: '0', size: 371, isCoinbase: false, network: 'XEC', }, { txid: '41e306829bca85422ac5cbf2baad3d1a4e79c3bbb8f042cf0aa7ae2df49535a5', version: 2, inputs: [ { prevOut: { txid: '63a11be653e333ae3e1075791c996d46b5f476b483c4ccf4ec33b524028d7cd5', outIdx: 1, }, inputScript: '47304402204c6140c524e40653e85440aff615af47a481accc9dc8b45548d59a3ae91d3a0802200aa1667d00b16d3a80c5d4d1b4cabeee415289ef6818496f92abf9ec2db8262c412102c0850ac54a3915aa762c1ada2f50076b2aa4bc7d188eee9b5af6ddfa412a363f', outputScript: '76a914a9f494266e4b3c823712f27dedcb83e30b2fe59f88ac', value: '14748931', sequenceNo: 4294967295, }, ], outputs: [ { value: '2200', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', spentBy: { txid: '46158de814d73ded1a8f91221c85d9c91c696eaf14f0bd10e6fa7215bacf7852', outIdx: 1, }, }, { value: '14746276', outputScript: '76a914a9f494266e4b3c823712f27dedcb83e30b2fe59f88ac', spentBy: { txid: '20230f564987e644070e35fa4a809b8d697c725023a903c638194231ddf9cfd3', outIdx: 0, }, }, ], lockTime: 0, block: { height: 739747, hash: '0000000000000000079aa77192cf335b2004788c2860be98c310a5187a588dd3', timestamp: '1652722196', }, timeFirstSeen: '0', size: 225, isCoinbase: false, network: 'XEC', }, { txid: '09033290a18b5c3054dbb6df8b6ad5c3e2bc121ab4cb2a91f79cedb36f05a2ef', version: 2, inputs: [ { prevOut: { txid: 'c0ab154992174fc86381540dbf016d64c4e218a07aec7d5734a841ccbab93e1c', outIdx: 0, }, inputScript: '483045022100f50735a67538602ec240725f9160bdfc96b4ae443fff2cebaf25485e8f98f5720220584ab745222cc7a0cd33d6f287885781b8009bc1e819b9b97436ecdb31abeff2412103318d0e1109f32debc66952d0e3ec21b1cf96575ea4c2a97a6535628f7f8b10e6', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', value: '49545', sequenceNo: 4294967295, }, ], outputs: [ { value: '1300', outputScript: '76a91495e79f51d4260bc0dc3ba7fb77c7be92d0fbdd1d88ac', }, { value: '47790', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', }, ], lockTime: 0, block: { height: 758570, hash: '00000000000000000d1c7a165d8d185103ab30fb2d113334a9d8ee6cb6a9d268', timestamp: '1663956316', }, timeFirstSeen: '1663956020', size: 226, isCoinbase: false, network: 'XEC', }, { txid: 'daf142f1f90dc81efeafb94f986b951ff3bae6fb155565d96fd091e34e61ee29', version: 2, inputs: [ { prevOut: { txid: '5b679c422abc750576c188e3ed0729fb0e452f6ae0a8ad118026755fbceb00b1', outIdx: 1, }, inputScript: '483045022100ac91ae0c612165e500605ae41080a30be891ef757c378733bfe5533f331d0e97022020babc7d6a267fc5fbab8ba9740968732978abf4cf63e049721c008532204bf8412103318d0e1109f32debc66952d0e3ec21b1cf96575ea4c2a97a6535628f7f8b10e6', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', value: '47562', sequenceNo: 4294967295, }, ], outputs: [ { value: '1200', outputScript: '76a91495e79f51d4260bc0dc3ba7fb77c7be92d0fbdd1d88ac', }, { value: '45907', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', }, ], lockTime: 0, block: { height: 758570, hash: '00000000000000000d1c7a165d8d185103ab30fb2d113334a9d8ee6cb6a9d268', timestamp: '1663956316', }, timeFirstSeen: '1663956011', size: 226, isCoinbase: false, network: 'XEC', }, { txid: '376593dc3d3e305843fe23692e1477ae13ae1e8bfc778273c544a0c5d6285337', version: 2, inputs: [ { prevOut: { txid: '930259a2fe4de56a15ab33d5f2b13bfd08568c3d662df6b1a3c090a19aab8104', outIdx: 0, }, inputScript: '48304502210086a6072eaabb3502c73cbb6701c04edca374de60d62b888614d76b352203e9d602205721cec95da5a0ceda4cf54bf4bf8f54bec3d07b1caa75e1d65a87d8b5572f0f412103318d0e1109f32debc66952d0e3ec21b1cf96575ea4c2a97a6535628f7f8b10e6', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', value: '3300', sequenceNo: 4294967295, }, ], outputs: [ { value: '1100', outputScript: '76a91495e79f51d4260bc0dc3ba7fb77c7be92d0fbdd1d88ac', }, { value: '1745', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', }, ], lockTime: 0, block: { height: 758570, hash: '00000000000000000d1c7a165d8d185103ab30fb2d113334a9d8ee6cb6a9d268', timestamp: '1663956316', }, timeFirstSeen: '1663956003', size: 226, isCoinbase: false, network: 'XEC', }, { txid: '2faa94a50ddffc795f6044214efbca0d0190ed520e7e0fd35c4623ecd64b4e45', version: 2, inputs: [ { prevOut: { txid: '08ac32dc47252668cd32dbe0d9af15d1ae9e282ae56c3743a258d11613105924', outIdx: 0, }, inputScript: '47304402207031eafbfb4f762f1eb719defa8cb890f55085c593244eecce57082b7013fd4f02205178c40c57903baa3d9ebf554d2f3892859599b6e358e10725db81c14de4c80f412103318d0e1109f32debc66952d0e3ec21b1cf96575ea4c2a97a6535628f7f8b10e6', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', value: '2200', sequenceNo: 4294967295, }, { prevOut: { txid: '47d4940ded21de01c62675d31e211a381cc7d866dcf292af0422cdc616d927a8', outIdx: 2, }, inputScript: '473044022058d957ffc312b4f9eefd71fb2c708e0a82bf72e56fdb322d75b4201453e413c402200df9176569cb2523f541dcff39f27c116926b214de37109775f3e5015e050604412103318d0e1109f32debc66952d0e3ec21b1cf96575ea4c2a97a6535628f7f8b10e6', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', value: '546', sequenceNo: 4294967295, slpToken: { amount: '34', isMintBaton: false, }, }, ], outputs: [ { value: '0', outputScript: '6a04534c500001010453454e44204bd147fc5d5ff26249a9299c46b80920c0b81f59a60e05428262160ebee0b0c308000000000000000508000000000000001d', }, { value: '546', outputScript: '76a91495e79f51d4260bc0dc3ba7fb77c7be92d0fbdd1d88ac', slpToken: { amount: '5', isMintBaton: false, }, }, { value: '546', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', slpToken: { amount: '29', isMintBaton: false, }, }, ], lockTime: 0, slpTxData: { slpMeta: { tokenType: 'FUNGIBLE', txType: 'SEND', tokenId: '4bd147fc5d5ff26249a9299c46b80920c0b81f59a60e05428262160ebee0b0c3', }, }, block: { height: 758570, hash: '00000000000000000d1c7a165d8d185103ab30fb2d113334a9d8ee6cb6a9d268', timestamp: '1663956316', }, timeFirstSeen: '1663955995', size: 445, isCoinbase: false, network: 'XEC', }, { txid: '050705e14d2d27e1cb59127617d54a5cccd91c4cad6ffe8c2c6eb684e9d76042', version: 2, inputs: [ { prevOut: { txid: 'a429b818424b74153b363e487a577142f4e9bd67530739ed6883d8a6d71ea947', outIdx: 0, }, inputScript: '483045022100f4734cb1a5e7a64013b5408b9d0d6bc59560b08b9e7284f8bbba217f777f772c02204625fab8a1356f96f00a463be8aa64e90f663744554df60807d1aa1e00d19c5e412103318d0e1109f32debc66952d0e3ec21b1cf96575ea4c2a97a6535628f7f8b10e6', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', value: '1100', sequenceNo: 4294967295, }, { prevOut: { txid: 'e9c384cc569ad83d4fc61a54cac405ff2d64a5f532d94006bc38b87296c6bf63', outIdx: 0, }, inputScript: '483045022100892a72b025cd5cd667bace86dfc605169018d9b46fa9ba2ef963e4dbe26a471702201283b63ebe679be3c27edc7b37aff829ba34503430147e203661d4d4ec4f14a5412103318d0e1109f32debc66952d0e3ec21b1cf96575ea4c2a97a6535628f7f8b10e6', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', value: '7700', sequenceNo: 4294967295, }, { prevOut: { txid: '7a197add9eb4a57d854aaf31dd12fd71a806e4ba4fb4bf23ed7097cd281faae2', outIdx: 2, }, inputScript: '47304402203bcfcdbd76587aaa0b525edec82a5078daef892a98ae76d39accf1d874bd526d02202e2eba394d27b82c54fd3605ebafe7d6c9d2e7fa5dc769a4dc113dfbf5025a9d412103318d0e1109f32debc66952d0e3ec21b1cf96575ea4c2a97a6535628f7f8b10e6', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', value: '546', sequenceNo: 4294967295, slpToken: { amount: '126', isMintBaton: false, }, }, ], outputs: [ { value: '0', outputScript: '6a04534c500001010453454e44204bd147fc5d5ff26249a9299c46b80920c0b81f59a60e05428262160ebee0b0c308000000000000000108000000000000007d', }, { value: '546', outputScript: '76a91495e79f51d4260bc0dc3ba7fb77c7be92d0fbdd1d88ac', slpToken: { amount: '1', isMintBaton: false, }, }, { value: '546', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', slpToken: { amount: '125', isMintBaton: false, }, }, { value: '6655', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', }, ], lockTime: 0, slpTxData: { slpMeta: { tokenType: 'FUNGIBLE', txType: 'SEND', tokenId: '4bd147fc5d5ff26249a9299c46b80920c0b81f59a60e05428262160ebee0b0c3', }, }, block: { height: 758569, hash: '00000000000000000cbb0ac1fe8b1a4a87cd9bf58e7158333a1c32009c9137f0', timestamp: '1663955917', }, timeFirstSeen: '1663955725', size: 628, isCoinbase: false, network: 'XEC', }, { txid: 'c66b09f5c6b2afa5c63ff7c2ca2cc8d9538568a18c75b0e7d900c9c1be2758f7', version: 2, inputs: [ { prevOut: { txid: '43beeeeb761c401a1d121840e87c86237c98e9310e889feb0a34426e2a1ee463', outIdx: 0, }, inputScript: '4730440220606efba360bf0843f8c3fe9fab7d1cdc34852395b9045a4c3cf8f27b91d414f2022054fb11ce6e4fd2ee50ba467e94460c63e45fb563e330fc35c5caa8eea71e93b7412103318d0e1109f32debc66952d0e3ec21b1cf96575ea4c2a97a6535628f7f8b10e6', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', value: '3300', sequenceNo: 4294967295, }, ], outputs: [ { value: '1900', outputScript: '76a91495e79f51d4260bc0dc3ba7fb77c7be92d0fbdd1d88ac', }, { value: '945', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', }, ], lockTime: 0, block: { height: 758569, hash: '00000000000000000cbb0ac1fe8b1a4a87cd9bf58e7158333a1c32009c9137f0', timestamp: '1663955917', }, timeFirstSeen: '1663955710', size: 225, isCoinbase: false, network: 'XEC', }, { txid: '96c9031e30dba075dd83f622ed952ef7bb75fe12abdad962e70e9904272a7532', version: 2, inputs: [ { prevOut: { txid: '08cb593e2b2d0a47649990591bf30eee51534f85658fc8ee4e98e12e1c5c5553', outIdx: 0, }, inputScript: '47304402204569cce381885918e300caef1e8a5388b86be871ff3e8f8f52917c26df9dde760220474e3ce3f6363a826d2772e347c296773ea838f493882e15fdc6a5181286a92c412103318d0e1109f32debc66952d0e3ec21b1cf96575ea4c2a97a6535628f7f8b10e6', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', value: '1700', sequenceNo: 4294967295, }, { prevOut: { txid: 'cb68f53c0e46ab2ec0ceb28d87aa5b8b8a059c72b3c1f977141760d8dc93c821', outIdx: 0, }, inputScript: '47304402206355208bd3eae6d3468a062a6cc33340cd82e0e5def4dad1efa7caee652b21b40220619f05019e5014f1154659bbf5a46f4abbf93e04eecca8c509d231eb2a495f41412103318d0e1109f32debc66952d0e3ec21b1cf96575ea4c2a97a6535628f7f8b10e6', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', value: '3300', sequenceNo: 4294967295, }, ], outputs: [ { value: '1800', outputScript: '76a91495e79f51d4260bc0dc3ba7fb77c7be92d0fbdd1d88ac', }, { value: '2448', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', }, ], lockTime: 0, block: { height: 758569, hash: '00000000000000000cbb0ac1fe8b1a4a87cd9bf58e7158333a1c32009c9137f0', timestamp: '1663955917', }, timeFirstSeen: '1663955701', size: 372, isCoinbase: false, network: 'XEC', }, { txid: 'c25516f6d82e4299849edbd730ecb55b2b0e4745d95735b43bb4d16a67f50113', version: 2, inputs: [ { prevOut: { txid: 'a737c1372586cf30d76d8bdcac8e96e2c321f667a77ec4bb9980e603e2a77b3d', outIdx: 0, }, inputScript: '4730440220665f4bf3d94204649f8a1731285eb6e94940e38a3601504612374ec0a06ff27f02206276844772b498726e3e56145d42f2316da5646619d8288598f18e828426881f412103318d0e1109f32debc66952d0e3ec21b1cf96575ea4c2a97a6535628f7f8b10e6', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', value: '2200', sequenceNo: 4294967295, }, ], outputs: [ { value: '1700', outputScript: '76a91495e79f51d4260bc0dc3ba7fb77c7be92d0fbdd1d88ac', }, ], lockTime: 0, block: { height: 758569, hash: '00000000000000000cbb0ac1fe8b1a4a87cd9bf58e7158333a1c32009c9137f0', timestamp: '1663955917', }, timeFirstSeen: '1663955694', size: 191, isCoinbase: false, network: 'XEC', }, { txid: 'de5c518dc2d3d52268c3aeb788134ac373553b2eb239f256fa463c728af87189', version: 2, inputs: [ { prevOut: { txid: '0c67c0b670378c6ae959172eefd099247be944cdb88108d52589731f2194d675', outIdx: 5, }, inputScript: '47304402204b4de25ffee112642136a6d1ad74394c7bfb984a08703d5362500a5521d346dc022053c3e887d7bb27a2525140789a7f450b0995781787ce28750dca1421b746721f412103771805b54969a9bea4e3eb14a82851c67592156ddb5e52d3d53677d14a40fba6', outputScript: '76a91495e79f51d4260bc0dc3ba7fb77c7be92d0fbdd1d88ac', value: '43783281', sequenceNo: 4294967295, }, { prevOut: { txid: '3515f4a9851ad44124e0ddf6149344deb27a97720fc7e5254a9d2c86da7415a9', outIdx: 1, }, inputScript: '483045022100d4d1566db73386cd9580ff6f2c60e1536993b459fb3b199d7514fbd6fb5042ca0220590e88aa183ed6a756fbb8d8ba4bf5133f578746a917fab1e1b8e712543c5861412103771805b54969a9bea4e3eb14a82851c67592156ddb5e52d3d53677d14a40fba6', outputScript: '76a91495e79f51d4260bc0dc3ba7fb77c7be92d0fbdd1d88ac', value: '546', sequenceNo: 4294967295, slpBurn: { token: { amount: '1', isMintBaton: false, }, tokenId: '3515f4a9851ad44124e0ddf6149344deb27a97720fc7e5254a9d2c86da7415a9', }, slpToken: { amount: '100', isMintBaton: false, }, }, ], outputs: [ { value: '0', outputScript: '6a04534c500001010453454e44203515f4a9851ad44124e0ddf6149344deb27a97720fc7e5254a9d2c86da7415a9080000000000000063', }, { value: '546', outputScript: '76a91495e79f51d4260bc0dc3ba7fb77c7be92d0fbdd1d88ac', slpToken: { amount: '99', isMintBaton: false, }, }, { value: '43781463', outputScript: '76a91495e79f51d4260bc0dc3ba7fb77c7be92d0fbdd1d88ac', }, ], lockTime: 0, slpTxData: { slpMeta: { tokenType: 'FUNGIBLE', txType: 'SEND', tokenId: '3515f4a9851ad44124e0ddf6149344deb27a97720fc7e5254a9d2c86da7415a9', }, }, block: { height: 758551, hash: '000000000000000004ac3b44419bb5f0e0b47937b3e7e781206270da01b4a53e', timestamp: '1663947923', }, timeFirstSeen: '1663947876', size: 437, isCoinbase: false, network: 'XEC', }, { txid: 'd34f524ca0509e83718516ce697eeed5452ea0e312bab50ce0172589275fdd84', version: 2, inputs: [ { prevOut: { txid: '696265ced15b8fdbacfa1a4f5e779575ff5faaf3ff4ad09e5691b2ed4cf50a84', outIdx: 3, }, inputScript: '483045022100e43086bb67006f6d5140a3329001bc53dabe2da4dbe7feae34dd5f10311b15ad022045da448bc99003af6cf6d4c74ec9891c60932013dde7451abca4a6bc40b6138d412103771805b54969a9bea4e3eb14a82851c67592156ddb5e52d3d53677d14a40fba6', outputScript: '76a91495e79f51d4260bc0dc3ba7fb77c7be92d0fbdd1d88ac', value: '10409988', sequenceNo: 4294967295, slpBurn: { token: { amount: '0', isMintBaton: false, }, tokenId: 'da9460ce4b1c92b4f6ef4e4a6bc2d05539f49d02b17681389d9ce22b8dca50f0', }, }, ], outputs: [ { value: '0', outputScript: '6a04657461624ca104acd46779fb7a9a8e24656ba7ffcbc066bb78701630b0a3fd1c36a3e2b605d78e1d995ea990096a3f76077985d2194fd1a87369921545a544992c86414ed859247ab8f9c2979ed9b8fecb2cfaa7ff74f1daf6f7c00f3d97a5b942aecba54bf155d464606b6faa6f5efcbdf3f525b3283acf6867d11cfc30623c3107a87b499f68ca00602492c9cdca9b481c7f2b65a6ecd481bfdd244954b32a45c658592182ad', }, { value: '1200', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', }, { value: '10408333', outputScript: '76a91495e79f51d4260bc0dc3ba7fb77c7be92d0fbdd1d88ac', }, ], lockTime: 0, block: { height: 758550, hash: '000000000000000009f8cdae9bb21a321896126e06413a4e8af24a182edf701e', timestamp: '1663947819', }, timeFirstSeen: '1663946739', size: 404, isCoinbase: false, network: 'XEC', }, ]; export const mockSortedTxHistoryNoUnconfirmed = [ { txid: '09033290a18b5c3054dbb6df8b6ad5c3e2bc121ab4cb2a91f79cedb36f05a2ef', version: 2, inputs: [ { prevOut: { txid: 'c0ab154992174fc86381540dbf016d64c4e218a07aec7d5734a841ccbab93e1c', outIdx: 0, }, inputScript: '483045022100f50735a67538602ec240725f9160bdfc96b4ae443fff2cebaf25485e8f98f5720220584ab745222cc7a0cd33d6f287885781b8009bc1e819b9b97436ecdb31abeff2412103318d0e1109f32debc66952d0e3ec21b1cf96575ea4c2a97a6535628f7f8b10e6', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', value: '49545', sequenceNo: 4294967295, }, ], outputs: [ { value: '1300', outputScript: '76a91495e79f51d4260bc0dc3ba7fb77c7be92d0fbdd1d88ac', }, { value: '47790', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', }, ], lockTime: 0, block: { height: 758570, hash: '00000000000000000d1c7a165d8d185103ab30fb2d113334a9d8ee6cb6a9d268', timestamp: '1663956316', }, timeFirstSeen: '1663956020', size: 226, isCoinbase: false, network: 'XEC', }, { txid: 'daf142f1f90dc81efeafb94f986b951ff3bae6fb155565d96fd091e34e61ee29', version: 2, inputs: [ { prevOut: { txid: '5b679c422abc750576c188e3ed0729fb0e452f6ae0a8ad118026755fbceb00b1', outIdx: 1, }, inputScript: '483045022100ac91ae0c612165e500605ae41080a30be891ef757c378733bfe5533f331d0e97022020babc7d6a267fc5fbab8ba9740968732978abf4cf63e049721c008532204bf8412103318d0e1109f32debc66952d0e3ec21b1cf96575ea4c2a97a6535628f7f8b10e6', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', value: '47562', sequenceNo: 4294967295, }, ], outputs: [ { value: '1200', outputScript: '76a91495e79f51d4260bc0dc3ba7fb77c7be92d0fbdd1d88ac', }, { value: '45907', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', }, ], lockTime: 0, block: { height: 758570, hash: '00000000000000000d1c7a165d8d185103ab30fb2d113334a9d8ee6cb6a9d268', timestamp: '1663956316', }, timeFirstSeen: '1663956011', size: 226, isCoinbase: false, network: 'XEC', }, { txid: '376593dc3d3e305843fe23692e1477ae13ae1e8bfc778273c544a0c5d6285337', version: 2, inputs: [ { prevOut: { txid: '930259a2fe4de56a15ab33d5f2b13bfd08568c3d662df6b1a3c090a19aab8104', outIdx: 0, }, inputScript: '48304502210086a6072eaabb3502c73cbb6701c04edca374de60d62b888614d76b352203e9d602205721cec95da5a0ceda4cf54bf4bf8f54bec3d07b1caa75e1d65a87d8b5572f0f412103318d0e1109f32debc66952d0e3ec21b1cf96575ea4c2a97a6535628f7f8b10e6', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', value: '3300', sequenceNo: 4294967295, }, ], outputs: [ { value: '1100', outputScript: '76a91495e79f51d4260bc0dc3ba7fb77c7be92d0fbdd1d88ac', }, { value: '1745', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', }, ], lockTime: 0, block: { height: 758570, hash: '00000000000000000d1c7a165d8d185103ab30fb2d113334a9d8ee6cb6a9d268', timestamp: '1663956316', }, timeFirstSeen: '1663956003', size: 226, isCoinbase: false, network: 'XEC', }, { txid: '2faa94a50ddffc795f6044214efbca0d0190ed520e7e0fd35c4623ecd64b4e45', version: 2, inputs: [ { prevOut: { txid: '08ac32dc47252668cd32dbe0d9af15d1ae9e282ae56c3743a258d11613105924', outIdx: 0, }, inputScript: '47304402207031eafbfb4f762f1eb719defa8cb890f55085c593244eecce57082b7013fd4f02205178c40c57903baa3d9ebf554d2f3892859599b6e358e10725db81c14de4c80f412103318d0e1109f32debc66952d0e3ec21b1cf96575ea4c2a97a6535628f7f8b10e6', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', value: '2200', sequenceNo: 4294967295, }, { prevOut: { txid: '47d4940ded21de01c62675d31e211a381cc7d866dcf292af0422cdc616d927a8', outIdx: 2, }, inputScript: '473044022058d957ffc312b4f9eefd71fb2c708e0a82bf72e56fdb322d75b4201453e413c402200df9176569cb2523f541dcff39f27c116926b214de37109775f3e5015e050604412103318d0e1109f32debc66952d0e3ec21b1cf96575ea4c2a97a6535628f7f8b10e6', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', value: '546', sequenceNo: 4294967295, slpToken: { amount: '34', isMintBaton: false, }, }, ], outputs: [ { value: '0', outputScript: '6a04534c500001010453454e44204bd147fc5d5ff26249a9299c46b80920c0b81f59a60e05428262160ebee0b0c308000000000000000508000000000000001d', }, { value: '546', outputScript: '76a91495e79f51d4260bc0dc3ba7fb77c7be92d0fbdd1d88ac', slpToken: { amount: '5', isMintBaton: false, }, }, { value: '546', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', slpToken: { amount: '29', isMintBaton: false, }, }, ], lockTime: 0, slpTxData: { slpMeta: { tokenType: 'FUNGIBLE', txType: 'SEND', tokenId: '4bd147fc5d5ff26249a9299c46b80920c0b81f59a60e05428262160ebee0b0c3', }, }, block: { height: 758570, hash: '00000000000000000d1c7a165d8d185103ab30fb2d113334a9d8ee6cb6a9d268', timestamp: '1663956316', }, timeFirstSeen: '1663955995', size: 445, isCoinbase: false, network: 'XEC', }, { txid: '050705e14d2d27e1cb59127617d54a5cccd91c4cad6ffe8c2c6eb684e9d76042', version: 2, inputs: [ { prevOut: { txid: 'a429b818424b74153b363e487a577142f4e9bd67530739ed6883d8a6d71ea947', outIdx: 0, }, inputScript: '483045022100f4734cb1a5e7a64013b5408b9d0d6bc59560b08b9e7284f8bbba217f777f772c02204625fab8a1356f96f00a463be8aa64e90f663744554df60807d1aa1e00d19c5e412103318d0e1109f32debc66952d0e3ec21b1cf96575ea4c2a97a6535628f7f8b10e6', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', value: '1100', sequenceNo: 4294967295, }, { prevOut: { txid: 'e9c384cc569ad83d4fc61a54cac405ff2d64a5f532d94006bc38b87296c6bf63', outIdx: 0, }, inputScript: '483045022100892a72b025cd5cd667bace86dfc605169018d9b46fa9ba2ef963e4dbe26a471702201283b63ebe679be3c27edc7b37aff829ba34503430147e203661d4d4ec4f14a5412103318d0e1109f32debc66952d0e3ec21b1cf96575ea4c2a97a6535628f7f8b10e6', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', value: '7700', sequenceNo: 4294967295, }, { prevOut: { txid: '7a197add9eb4a57d854aaf31dd12fd71a806e4ba4fb4bf23ed7097cd281faae2', outIdx: 2, }, inputScript: '47304402203bcfcdbd76587aaa0b525edec82a5078daef892a98ae76d39accf1d874bd526d02202e2eba394d27b82c54fd3605ebafe7d6c9d2e7fa5dc769a4dc113dfbf5025a9d412103318d0e1109f32debc66952d0e3ec21b1cf96575ea4c2a97a6535628f7f8b10e6', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', value: '546', sequenceNo: 4294967295, slpToken: { amount: '126', isMintBaton: false, }, }, ], outputs: [ { value: '0', outputScript: '6a04534c500001010453454e44204bd147fc5d5ff26249a9299c46b80920c0b81f59a60e05428262160ebee0b0c308000000000000000108000000000000007d', }, { value: '546', outputScript: '76a91495e79f51d4260bc0dc3ba7fb77c7be92d0fbdd1d88ac', slpToken: { amount: '1', isMintBaton: false, }, }, { value: '546', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', slpToken: { amount: '125', isMintBaton: false, }, }, { value: '6655', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', }, ], lockTime: 0, slpTxData: { slpMeta: { tokenType: 'FUNGIBLE', txType: 'SEND', tokenId: '4bd147fc5d5ff26249a9299c46b80920c0b81f59a60e05428262160ebee0b0c3', }, }, block: { height: 758569, hash: '00000000000000000cbb0ac1fe8b1a4a87cd9bf58e7158333a1c32009c9137f0', timestamp: '1663955917', }, timeFirstSeen: '1663955725', size: 628, isCoinbase: false, network: 'XEC', }, { txid: 'c66b09f5c6b2afa5c63ff7c2ca2cc8d9538568a18c75b0e7d900c9c1be2758f7', version: 2, inputs: [ { prevOut: { txid: '43beeeeb761c401a1d121840e87c86237c98e9310e889feb0a34426e2a1ee463', outIdx: 0, }, inputScript: '4730440220606efba360bf0843f8c3fe9fab7d1cdc34852395b9045a4c3cf8f27b91d414f2022054fb11ce6e4fd2ee50ba467e94460c63e45fb563e330fc35c5caa8eea71e93b7412103318d0e1109f32debc66952d0e3ec21b1cf96575ea4c2a97a6535628f7f8b10e6', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', value: '3300', sequenceNo: 4294967295, }, ], outputs: [ { value: '1900', outputScript: '76a91495e79f51d4260bc0dc3ba7fb77c7be92d0fbdd1d88ac', }, { value: '945', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', }, ], lockTime: 0, block: { height: 758569, hash: '00000000000000000cbb0ac1fe8b1a4a87cd9bf58e7158333a1c32009c9137f0', timestamp: '1663955917', }, timeFirstSeen: '1663955710', size: 225, isCoinbase: false, network: 'XEC', }, { txid: '96c9031e30dba075dd83f622ed952ef7bb75fe12abdad962e70e9904272a7532', version: 2, inputs: [ { prevOut: { txid: '08cb593e2b2d0a47649990591bf30eee51534f85658fc8ee4e98e12e1c5c5553', outIdx: 0, }, inputScript: '47304402204569cce381885918e300caef1e8a5388b86be871ff3e8f8f52917c26df9dde760220474e3ce3f6363a826d2772e347c296773ea838f493882e15fdc6a5181286a92c412103318d0e1109f32debc66952d0e3ec21b1cf96575ea4c2a97a6535628f7f8b10e6', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', value: '1700', sequenceNo: 4294967295, }, { prevOut: { txid: 'cb68f53c0e46ab2ec0ceb28d87aa5b8b8a059c72b3c1f977141760d8dc93c821', outIdx: 0, }, inputScript: '47304402206355208bd3eae6d3468a062a6cc33340cd82e0e5def4dad1efa7caee652b21b40220619f05019e5014f1154659bbf5a46f4abbf93e04eecca8c509d231eb2a495f41412103318d0e1109f32debc66952d0e3ec21b1cf96575ea4c2a97a6535628f7f8b10e6', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', value: '3300', sequenceNo: 4294967295, }, ], outputs: [ { value: '1800', outputScript: '76a91495e79f51d4260bc0dc3ba7fb77c7be92d0fbdd1d88ac', }, { value: '2448', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', }, ], lockTime: 0, block: { height: 758569, hash: '00000000000000000cbb0ac1fe8b1a4a87cd9bf58e7158333a1c32009c9137f0', timestamp: '1663955917', }, timeFirstSeen: '1663955701', size: 372, isCoinbase: false, network: 'XEC', }, { txid: 'c25516f6d82e4299849edbd730ecb55b2b0e4745d95735b43bb4d16a67f50113', version: 2, inputs: [ { prevOut: { txid: 'a737c1372586cf30d76d8bdcac8e96e2c321f667a77ec4bb9980e603e2a77b3d', outIdx: 0, }, inputScript: '4730440220665f4bf3d94204649f8a1731285eb6e94940e38a3601504612374ec0a06ff27f02206276844772b498726e3e56145d42f2316da5646619d8288598f18e828426881f412103318d0e1109f32debc66952d0e3ec21b1cf96575ea4c2a97a6535628f7f8b10e6', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', value: '2200', sequenceNo: 4294967295, }, ], outputs: [ { value: '1700', outputScript: '76a91495e79f51d4260bc0dc3ba7fb77c7be92d0fbdd1d88ac', }, ], lockTime: 0, block: { height: 758569, hash: '00000000000000000cbb0ac1fe8b1a4a87cd9bf58e7158333a1c32009c9137f0', timestamp: '1663955917', }, timeFirstSeen: '1663955694', size: 191, isCoinbase: false, network: 'XEC', }, { txid: 'de5c518dc2d3d52268c3aeb788134ac373553b2eb239f256fa463c728af87189', version: 2, inputs: [ { prevOut: { txid: '0c67c0b670378c6ae959172eefd099247be944cdb88108d52589731f2194d675', outIdx: 5, }, inputScript: '47304402204b4de25ffee112642136a6d1ad74394c7bfb984a08703d5362500a5521d346dc022053c3e887d7bb27a2525140789a7f450b0995781787ce28750dca1421b746721f412103771805b54969a9bea4e3eb14a82851c67592156ddb5e52d3d53677d14a40fba6', outputScript: '76a91495e79f51d4260bc0dc3ba7fb77c7be92d0fbdd1d88ac', value: '43783281', sequenceNo: 4294967295, }, { prevOut: { txid: '3515f4a9851ad44124e0ddf6149344deb27a97720fc7e5254a9d2c86da7415a9', outIdx: 1, }, inputScript: '483045022100d4d1566db73386cd9580ff6f2c60e1536993b459fb3b199d7514fbd6fb5042ca0220590e88aa183ed6a756fbb8d8ba4bf5133f578746a917fab1e1b8e712543c5861412103771805b54969a9bea4e3eb14a82851c67592156ddb5e52d3d53677d14a40fba6', outputScript: '76a91495e79f51d4260bc0dc3ba7fb77c7be92d0fbdd1d88ac', value: '546', sequenceNo: 4294967295, slpBurn: { token: { amount: '1', isMintBaton: false, }, tokenId: '3515f4a9851ad44124e0ddf6149344deb27a97720fc7e5254a9d2c86da7415a9', }, slpToken: { amount: '100', isMintBaton: false, }, }, ], outputs: [ { value: '0', outputScript: '6a04534c500001010453454e44203515f4a9851ad44124e0ddf6149344deb27a97720fc7e5254a9d2c86da7415a9080000000000000063', }, { value: '546', outputScript: '76a91495e79f51d4260bc0dc3ba7fb77c7be92d0fbdd1d88ac', slpToken: { amount: '99', isMintBaton: false, }, }, { value: '43781463', outputScript: '76a91495e79f51d4260bc0dc3ba7fb77c7be92d0fbdd1d88ac', }, ], lockTime: 0, slpTxData: { slpMeta: { tokenType: 'FUNGIBLE', txType: 'SEND', tokenId: '3515f4a9851ad44124e0ddf6149344deb27a97720fc7e5254a9d2c86da7415a9', }, }, block: { height: 758551, hash: '000000000000000004ac3b44419bb5f0e0b47937b3e7e781206270da01b4a53e', timestamp: '1663947923', }, timeFirstSeen: '1663947876', size: 437, isCoinbase: false, network: 'XEC', }, { txid: 'd34f524ca0509e83718516ce697eeed5452ea0e312bab50ce0172589275fdd84', version: 2, inputs: [ { prevOut: { txid: '696265ced15b8fdbacfa1a4f5e779575ff5faaf3ff4ad09e5691b2ed4cf50a84', outIdx: 3, }, inputScript: '483045022100e43086bb67006f6d5140a3329001bc53dabe2da4dbe7feae34dd5f10311b15ad022045da448bc99003af6cf6d4c74ec9891c60932013dde7451abca4a6bc40b6138d412103771805b54969a9bea4e3eb14a82851c67592156ddb5e52d3d53677d14a40fba6', outputScript: '76a91495e79f51d4260bc0dc3ba7fb77c7be92d0fbdd1d88ac', value: '10409988', sequenceNo: 4294967295, slpBurn: { token: { amount: '0', isMintBaton: false, }, tokenId: 'da9460ce4b1c92b4f6ef4e4a6bc2d05539f49d02b17681389d9ce22b8dca50f0', }, }, ], outputs: [ { value: '0', outputScript: '6a04657461624ca104acd46779fb7a9a8e24656ba7ffcbc066bb78701630b0a3fd1c36a3e2b605d78e1d995ea990096a3f76077985d2194fd1a87369921545a544992c86414ed859247ab8f9c2979ed9b8fecb2cfaa7ff74f1daf6f7c00f3d97a5b942aecba54bf155d464606b6faa6f5efcbdf3f525b3283acf6867d11cfc30623c3107a87b499f68ca00602492c9cdca9b481c7f2b65a6ecd481bfdd244954b32a45c658592182ad', }, { value: '1200', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', }, { value: '10408333', outputScript: '76a91495e79f51d4260bc0dc3ba7fb77c7be92d0fbdd1d88ac', }, ], lockTime: 0, block: { height: 758550, hash: '000000000000000009f8cdae9bb21a321896126e06413a4e8af24a182edf701e', timestamp: '1663947819', }, timeFirstSeen: '1663946739', size: 404, isCoinbase: false, network: 'XEC', }, ]; export const mockFlatTxHistoryWithUnconfirmed = [ { txid: '56e9b1d16c9989186c846187db57d9a9389c3ecc74e7237c1d1d0327cf904a55', version: 2, inputs: [ { prevOut: { txid: 'd27609956b0e4313f807fd58b82cc77f9b2bba1a792eac02707462a3d6863958', outIdx: 2, }, inputScript: '473044022024a187f6dc32082e765eeb37e1a6726e99871b3df0c385ad135ddcf73df0e79102203b81d7eb112a193e23147974432bb12116d75e995aa8c3b6a51943cc4dbd8694412102c0850ac54a3915aa762c1ada2f50076b2aa4bc7d188eee9b5af6ddfa412a363f', outputScript: '76a914a9f494266e4b3c823712f27dedcb83e30b2fe59f88ac', value: '12214100', sequenceNo: 4294967295, }, ], outputs: [ { value: '0', outputScript: '6a04534c500001010747454e4553495303434b410d4368726f6e696b20416c7068611468747470733a2f2f636173687461622e636f6d2f4c0001084c000800000014b230ce38', }, { value: '546', outputScript: '76a91495e79f51d4260bc0dc3ba7fb77c7be92d0fbdd1d88ac', slpToken: { amount: '88888888888', isMintBaton: false, }, spentBy: { txid: 'a83257b2facf7c6d4f8df9a307dee9cc79af9323b8bb803994d5c967bf916569', outIdx: 1, }, }, { value: '12213031', outputScript: '76a91495e79f51d4260bc0dc3ba7fb77c7be92d0fbdd1d88ac', spentBy: { txid: '5fc6f53ef0f94e66d5f6983402441cfdece1dbd35bd500b6e15881d1b37aa93f', outIdx: 67, }, }, ], lockTime: 0, slpTxData: { slpMeta: { tokenType: 'FUNGIBLE', txType: 'GENESIS', tokenId: '56e9b1d16c9989186c846187db57d9a9389c3ecc74e7237c1d1d0327cf904a55', }, genesisInfo: { tokenTicker: 'CKA', tokenName: 'Chronik Alpha', tokenDocumentUrl: 'https://cashtab.com/', tokenDocumentHash: '', decimals: 8, }, }, block: { height: 757174, hash: '000000000000000011c5e064ac6295bb1c1e1c306019e591b9c79290c24c33ff', timestamp: '1663091856', }, timeFirstSeen: '1663091668', size: 304, isCoinbase: false, network: 'XEC', }, { txid: 'd27609956b0e4313f807fd58b82cc77f9b2bba1a792eac02707462a3d6863958', version: 2, inputs: [ { prevOut: { txid: 'd0470ea0b1e0d5cc6a20085ca1436e8c4752415a450a981ef2dd23105bbe2550', outIdx: 3, }, inputScript: '47304402201623de13a2cd38d379a08dbee1cb2239571b6166bf9923ffe44ae108fd21931c022030dcd5b08a997dcaa7af505a5e513985317b2da91d2f4d4879ee941e3b8931ad412102c0850ac54a3915aa762c1ada2f50076b2aa4bc7d188eee9b5af6ddfa412a363f', outputScript: '76a914a9f494266e4b3c823712f27dedcb83e30b2fe59f88ac', value: '12218055', sequenceNo: 4294967295, }, ], outputs: [ { value: '0', outputScript: '6a04657461624c910458f886baf61daf6fa1909aab79e30bca8d35d634c6c5e969b2157b87e67fa010252a9fd1eebeed00075d0fb7bcc0dcb73b41cc73adacdae2be18d31643ad3f33d95f9a97e7cf00b2231fd0a7d37f36d082c86a392bde59eac693c002f861082d7d3cbc23eafd4511afe3619bfc0f0c028454038dee71a6e7796395574b9a06b9bf7aaf0cd607e59f4ad641393d746f88', }, { value: '3500', outputScript: '76a9149ee95bbfbdd2cf0eb6005bd75f717e4193b5913488ac', }, { value: '12214100', outputScript: '76a914a9f494266e4b3c823712f27dedcb83e30b2fe59f88ac', spentBy: { txid: '56e9b1d16c9989186c846187db57d9a9389c3ecc74e7237c1d1d0327cf904a55', outIdx: 0, }, }, ], lockTime: 0, block: { height: 757171, hash: '00000000000000000518fc1d8fe67064dcaec41264773455a988c9d0c12f58ad', timestamp: '1663090626', }, timeFirstSeen: '1663089642', size: 387, isCoinbase: false, network: 'XEC', }, { txid: 'd0470ea0b1e0d5cc6a20085ca1436e8c4752415a450a981ef2dd23105bbe2550', version: 2, inputs: [ { prevOut: { txid: 'a5f2a143eeec451c0714e430dd5553cbee26f6f05571a316dfb784b3454855d9', outIdx: 2, }, inputScript: '47304402202267233e578abb21efa28bc606501f582f94915d3b07ceedff39750877c7211d02206cfec78f41fe58723938c199fa908f4e13ebb298cc989be30faa1e6838c22af1412102c0850ac54a3915aa762c1ada2f50076b2aa4bc7d188eee9b5af6ddfa412a363f', outputScript: '76a914a9f494266e4b3c823712f27dedcb83e30b2fe59f88ac', value: '12224078', sequenceNo: 4294967295, }, ], outputs: [ { value: '0', outputScript: '6a04007461621c54657374696e67206d756c74692d73656e642077697468206e6f7465', }, { value: '2200', outputScript: '76a91476458db0ed96fe9863fc1ccec9fa2cfab884b0f688ac', }, { value: '3300', outputScript: '76a9149ee95bbfbdd2cf0eb6005bd75f717e4193b5913488ac', }, { value: '12218055', outputScript: '76a914a9f494266e4b3c823712f27dedcb83e30b2fe59f88ac', spentBy: { txid: 'd27609956b0e4313f807fd58b82cc77f9b2bba1a792eac02707462a3d6863958', outIdx: 0, }, }, ], lockTime: 0, block: { height: 757171, hash: '00000000000000000518fc1d8fe67064dcaec41264773455a988c9d0c12f58ad', timestamp: '1663090626', }, timeFirstSeen: '1663089621', size: 303, isCoinbase: false, network: 'XEC', }, { txid: 'a5f2a143eeec451c0714e430dd5553cbee26f6f05571a316dfb784b3454855d9', version: 2, inputs: [ { prevOut: { txid: 'bdd18f49a557c57b79da4b8a3165be6202fb48809486ec04424de99f52abeee8', outIdx: 1, }, inputScript: '483045022100f3e4140c8f1614612c07ffe4d35e697d5ffd0931d7b18b9360f5f431c6704d11022002b5fd03e7f9b849fec1c0374dc3df2f1f2dae333980bd02aaa3710b66d1eb0e412102c0850ac54a3915aa762c1ada2f50076b2aa4bc7d188eee9b5af6ddfa412a363f', outputScript: '76a914a9f494266e4b3c823712f27dedcb83e30b2fe59f88ac', value: '12230101', sequenceNo: 4294967295, }, ], outputs: [ { value: '3300', outputScript: '76a9149ee95bbfbdd2cf0eb6005bd75f717e4193b5913488ac', }, { value: '2200', outputScript: '76a91476458db0ed96fe9863fc1ccec9fa2cfab884b0f688ac', }, { value: '12224078', outputScript: '76a914a9f494266e4b3c823712f27dedcb83e30b2fe59f88ac', spentBy: { txid: 'd0470ea0b1e0d5cc6a20085ca1436e8c4752415a450a981ef2dd23105bbe2550', outIdx: 0, }, }, ], lockTime: 0, block: { height: 757171, hash: '00000000000000000518fc1d8fe67064dcaec41264773455a988c9d0c12f58ad', timestamp: '1663090626', }, timeFirstSeen: '1663089593', size: 260, isCoinbase: false, network: 'XEC', }, { txid: 'bdd18f49a557c57b79da4b8a3165be6202fb48809486ec04424de99f52abeee8', version: 2, inputs: [ { prevOut: { txid: '71c0f2d76c81bb91c6bf4de69693d95e8f043af9e055e949616443090f961d80', outIdx: 2, }, inputScript: '4830450221008f8052c8b78a4d250f4596b3a14c85fb2d253ce20d972422829dc4a68a87320702202b7d272a96996bab1914f693939dfc6300184f5f3db0acc5acfc155ba19d7642412102c0850ac54a3915aa762c1ada2f50076b2aa4bc7d188eee9b5af6ddfa412a363f', outputScript: '76a914a9f494266e4b3c823712f27dedcb83e30b2fe59f88ac', value: '12233856', sequenceNo: 4294967295, }, ], outputs: [ { value: '3300', outputScript: '76a9149ee95bbfbdd2cf0eb6005bd75f717e4193b5913488ac', }, { value: '12230101', outputScript: '76a914a9f494266e4b3c823712f27dedcb83e30b2fe59f88ac', spentBy: { txid: 'a5f2a143eeec451c0714e430dd5553cbee26f6f05571a316dfb784b3454855d9', outIdx: 0, }, }, ], lockTime: 0, block: { height: 757171, hash: '00000000000000000518fc1d8fe67064dcaec41264773455a988c9d0c12f58ad', timestamp: '1663090626', }, timeFirstSeen: '1663089364', size: 226, isCoinbase: false, network: 'XEC', }, { txid: '71c0f2d76c81bb91c6bf4de69693d95e8f043af9e055e949616443090f961d80', version: 2, inputs: [ { prevOut: { txid: '3f7cbb380b2ad014fc6e95f2d4c10eda2f37c5686f6739af562e6e855c457b3b', outIdx: 1, }, inputScript: '473044022038c75f93d7abe8e6e63c0981203acd48c7e6df92ba52cc9399df84b0b367ee200220356508913a5f8ad94d126891fea372bb2bf66a249bdb63332a4625cb359865f8412102c0850ac54a3915aa762c1ada2f50076b2aa4bc7d188eee9b5af6ddfa412a363f', outputScript: '76a914a9f494266e4b3c823712f27dedcb83e30b2fe59f88ac', value: '12235011', sequenceNo: 4294967295, }, ], outputs: [ { value: '0', outputScript: '6a04007461620454657374', }, { value: '700', outputScript: '76a9149ee95bbfbdd2cf0eb6005bd75f717e4193b5913488ac', }, { value: '12233856', outputScript: '76a914a9f494266e4b3c823712f27dedcb83e30b2fe59f88ac', spentBy: { txid: 'bdd18f49a557c57b79da4b8a3165be6202fb48809486ec04424de99f52abeee8', outIdx: 0, }, }, ], lockTime: 0, block: { height: 755309, hash: '0000000000000000115c75e7b0728b548e9f21bb9ebdcad68d36475e712ceed5', timestamp: '1661972428', }, timeFirstSeen: '1661972247', size: 245, isCoinbase: false, network: 'XEC', }, { txid: '3f7cbb380b2ad014fc6e95f2d4c10eda2f37c5686f6739af562e6e855c457b3b', version: 2, inputs: [ { prevOut: { txid: 'bd0101c9389c5e1fada4662ea9ba7c8d71f949743e42f2db563cb0ec96bd10a3', outIdx: 1, }, inputScript: '483045022100f288e71276e2389744ecb3c98bdf0c119d19966ac086c5f5908f8c3a878aa7e402203c07905536720391f472457f52f5cf6aaeb4fa02fdf59722f25768a36fd6157f412102c0850ac54a3915aa762c1ada2f50076b2aa4bc7d188eee9b5af6ddfa412a363f', outputScript: '76a914a9f494266e4b3c823712f27dedcb83e30b2fe59f88ac', value: '12243166', sequenceNo: 4294967295, }, ], outputs: [ { value: '7700', outputScript: '76a9146ffbe7c7d7bd01295eb1e371de9550339bdcf9fd88ac', spentBy: { txid: '04eedd3f4b4dc9727e393ad3e774f2dc0c6acf9e920dc6fcbcbf95ed9b98477c', outIdx: 3, }, }, { value: '12235011', outputScript: '76a914a9f494266e4b3c823712f27dedcb83e30b2fe59f88ac', spentBy: { txid: '71c0f2d76c81bb91c6bf4de69693d95e8f043af9e055e949616443090f961d80', outIdx: 0, }, }, ], lockTime: 0, block: { height: 743257, hash: '000000000000000013259e217a18907ba956c55f839b6b15a11a79a2bf303d9f', timestamp: '1654812393', }, timeFirstSeen: '0', size: 226, isCoinbase: false, network: 'XEC', }, { txid: 'bd0101c9389c5e1fada4662ea9ba7c8d71f949743e42f2db563cb0ec96bd10a3', version: 2, inputs: [ { prevOut: { txid: '20230f564987e644070e35fa4a809b8d697c725023a903c638194231ddf9cfd3', outIdx: 2, }, inputScript: '483045022100d541ef12cc57c3b3cc95b338aec21775b27441d12eda662dcff23a46d07cc9450220467d2aae0dadcae787db33dab6adc86ec47aafea0133cc2130a62bb8247491d6412102c0850ac54a3915aa762c1ada2f50076b2aa4bc7d188eee9b5af6ddfa412a363f', outputScript: '76a914a9f494266e4b3c823712f27dedcb83e30b2fe59f88ac', value: '14743621', sequenceNo: 4294967295, }, ], outputs: [ { value: '2500000', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', spentBy: { txid: '55388f67ab1b23d2e6c146472b836c1ba1df33dd9b7685bed34c6c9ce6fe5c0e', outIdx: 0, }, }, { value: '12243166', outputScript: '76a914a9f494266e4b3c823712f27dedcb83e30b2fe59f88ac', spentBy: { txid: '3f7cbb380b2ad014fc6e95f2d4c10eda2f37c5686f6739af562e6e855c457b3b', outIdx: 0, }, }, ], lockTime: 0, block: { height: 742800, hash: '000000000000000009e1ed934f027563d161d1f59a00253496b0c847c2288c38', timestamp: '1654543720', }, timeFirstSeen: '0', size: 226, isCoinbase: false, network: 'XEC', }, { txid: '20230f564987e644070e35fa4a809b8d697c725023a903c638194231ddf9cfd3', version: 2, inputs: [ { prevOut: { txid: '41e306829bca85422ac5cbf2baad3d1a4e79c3bbb8f042cf0aa7ae2df49535a5', outIdx: 1, }, inputScript: '473044022046faa2cc8efc0a06b2cfa8b80b658d4dc09bc1524cba1cb4ab456f8bc9ebf37902205074d7975824a06d6cba90dc91503f29801d9c180253bbe4ecefb42ddc82da6d412102c0850ac54a3915aa762c1ada2f50076b2aa4bc7d188eee9b5af6ddfa412a363f', outputScript: '76a914a9f494266e4b3c823712f27dedcb83e30b2fe59f88ac', value: '14746276', sequenceNo: 4294967295, }, ], outputs: [ { value: '0', outputScript: '6a04657461624c810406fe30e60d38c4408043ca5b43cd515db4b10af477007962db6d019eeb9c3f6734c495574368da107bb00b32a27d096069706a0fb91fe18d0d8281c1b826fdd862a1955dd0d28b4e0245c862085f172d3947ca202953095ed014258f069c4d3fc36706e842b6643061e4ce70b91fb5b5b206de4d3b81a621ad9d4456c3f0cf6b', }, { value: '2200', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', spentBy: { txid: '31e5bf25b892e173483c7b100a5b0fcda03cac9337c335fda3b3a5cf17b64759', outIdx: 0, }, }, { value: '14743621', outputScript: '76a914a9f494266e4b3c823712f27dedcb83e30b2fe59f88ac', spentBy: { txid: 'bd0101c9389c5e1fada4662ea9ba7c8d71f949743e42f2db563cb0ec96bd10a3', outIdx: 0, }, }, ], lockTime: 0, block: { height: 741058, hash: '00000000000000000bb6dc63cd48a9b0dcf37a9b722618209dc85a79e8dc7973', timestamp: '1653506978', }, timeFirstSeen: '0', size: 371, isCoinbase: false, network: 'XEC', }, { txid: '41e306829bca85422ac5cbf2baad3d1a4e79c3bbb8f042cf0aa7ae2df49535a5', version: 2, inputs: [ { prevOut: { txid: '63a11be653e333ae3e1075791c996d46b5f476b483c4ccf4ec33b524028d7cd5', outIdx: 1, }, inputScript: '47304402204c6140c524e40653e85440aff615af47a481accc9dc8b45548d59a3ae91d3a0802200aa1667d00b16d3a80c5d4d1b4cabeee415289ef6818496f92abf9ec2db8262c412102c0850ac54a3915aa762c1ada2f50076b2aa4bc7d188eee9b5af6ddfa412a363f', outputScript: '76a914a9f494266e4b3c823712f27dedcb83e30b2fe59f88ac', value: '14748931', sequenceNo: 4294967295, }, ], outputs: [ { value: '2200', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', spentBy: { txid: '46158de814d73ded1a8f91221c85d9c91c696eaf14f0bd10e6fa7215bacf7852', outIdx: 1, }, }, { value: '14746276', outputScript: '76a914a9f494266e4b3c823712f27dedcb83e30b2fe59f88ac', spentBy: { txid: '20230f564987e644070e35fa4a809b8d697c725023a903c638194231ddf9cfd3', outIdx: 0, }, }, ], lockTime: 0, block: { height: 739747, hash: '0000000000000000079aa77192cf335b2004788c2860be98c310a5187a588dd3', timestamp: '1652722196', }, timeFirstSeen: '0', size: 225, isCoinbase: false, network: 'XEC', }, { txid: 'fa2e8951ee2ba44bab33e38c5b903bf77657363cffe268e8ae9f4728e14b04d8', version: 2, inputs: [ { prevOut: { txid: '6f0f29e02308fa670e8412f4c2d84e7e46f8d3fd6436dbc8676b8af99bb34a60', outIdx: 0, }, inputScript: '483045022100920a6f8696b0fadd7b82f3450090cd7f198d7287551bb8f08065951c7e5f9455022004d5d8304b056f2f4a6474392665cf8dfd897ea02f18506aced86b552482e404412103318d0e1109f32debc66952d0e3ec21b1cf96575ea4c2a97a6535628f7f8b10e6', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', value: '3300', sequenceNo: 4294967295, }, { prevOut: { txid: '3d60d2d130eee3e45e6a2d0e88e2ecae82d70c1ed1afc8f62ca9c8564d38108d', outIdx: 1, }, inputScript: '4830450221008461ccf6961f300a0f8c7ec5526813b531aea5033cacef6d15ab7e033f50130102206d22a9a7bd0ec2f04ace2c0642f233fea3bbed7ee677e53416845a0bfd367044412103318d0e1109f32debc66952d0e3ec21b1cf96575ea4c2a97a6535628f7f8b10e6', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', value: '546', sequenceNo: 4294967295, slpToken: { amount: '17', isMintBaton: false, }, }, ], outputs: [ { value: '0', outputScript: '6a04534c500001010453454e44204bd147fc5d5ff26249a9299c46b80920c0b81f59a60e05428262160ebee0b0c308000000000000000e080000000000000003', }, { value: '546', outputScript: '76a91495e79f51d4260bc0dc3ba7fb77c7be92d0fbdd1d88ac', slpToken: { amount: '14', isMintBaton: false, }, }, { value: '546', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', slpToken: { amount: '3', isMintBaton: false, }, }, { value: '1482', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', }, ], lockTime: 0, slpTxData: { slpMeta: { tokenType: 'FUNGIBLE', txType: 'SEND', tokenId: '4bd147fc5d5ff26249a9299c46b80920c0b81f59a60e05428262160ebee0b0c3', }, }, timeFirstSeen: '1663957661', size: 481, isCoinbase: false, network: 'XEC', }, { txid: 'cd4b0008e90b2a872dc92e19cdd87f52466b801f037641193196e75ff10f6990', version: 2, inputs: [ { prevOut: { txid: '0cf5a88f891b76da82c2d48d548f7e445355d6d8695ce91f1aee13e641a34183', outIdx: 1, }, inputScript: '473044022064c39d8fa6b89fcd0961d06ee7c6976c798b2de6f33bdd58b6db56a2c45b235102204444a625e5328eee7139110c03100bdc062292f28d6de8e2b36536a39d2466df412103318d0e1109f32debc66952d0e3ec21b1cf96575ea4c2a97a6535628f7f8b10e6', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', value: '1200', sequenceNo: 4294967295, }, { prevOut: { txid: '4f1a2f3e24b270b57e4d6b9bc6204360cdfeb1dfeca7d92379d49a7ba55c8a5f', outIdx: 0, }, inputScript: '483045022100cff4ca28b0bd320f4aa7bd3029b0c1e48c392b42c56b7dfdca292bbb14302e5f02206bc74177a98481e49c937a6229ebd8191f653a363c95cd37b69f1300f05f6d3a412103318d0e1109f32debc66952d0e3ec21b1cf96575ea4c2a97a6535628f7f8b10e6', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', value: '2200', sequenceNo: 4294967295, }, { prevOut: { txid: '46cf8bf009dbc6da45045c23af878cd2fd6dd3d3f62bf524d675e75959d5fdbd', outIdx: 2, }, inputScript: '483045022100ad48dd7d1196b108e3ee0412edcbe468031dcf48244b9b4b57f6cc9e710c836602202e5a00a2c9e1e6fc8937af70fcb8018e299dd007235229e6e3d87f6af9f8761c412103318d0e1109f32debc66952d0e3ec21b1cf96575ea4c2a97a6535628f7f8b10e6', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', value: '546', sequenceNo: 4294967295, slpToken: { amount: '228', isMintBaton: false, }, }, ], outputs: [ { value: '0', outputScript: '6a04534c500001010453454e44204bd147fc5d5ff26249a9299c46b80920c0b81f59a60e05428262160ebee0b0c308000000000000000d0800000000000000d7', }, { value: '546', outputScript: '76a91495e79f51d4260bc0dc3ba7fb77c7be92d0fbdd1d88ac', slpToken: { amount: '13', isMintBaton: false, }, }, { value: '546', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', slpToken: { amount: '215', isMintBaton: false, }, }, { value: '1255', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', }, ], lockTime: 0, slpTxData: { slpMeta: { tokenType: 'FUNGIBLE', txType: 'SEND', tokenId: '4bd147fc5d5ff26249a9299c46b80920c0b81f59a60e05428262160ebee0b0c3', }, }, timeFirstSeen: '1663957652', size: 628, isCoinbase: false, network: 'XEC', }, { txid: '7fcdf5c36d246ede7fb64fed835a2400b0700ecedfdf4e6f738e5a8026d44275', version: 2, inputs: [ { prevOut: { txid: '09be4bad8545cb249fe8673be5e45d5d1109a8a91b6a862a6e9ad041e2f3232d', outIdx: 1, }, inputScript: '483045022100c30541783609812c5a4066e6395488f3bcabc0cd5a21444d79868c31016b5c9f02200d1c7709f414411a3e3cd9dbf606648339fb2c309b016e490d52aa565510e151412103318d0e1109f32debc66952d0e3ec21b1cf96575ea4c2a97a6535628f7f8b10e6', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', value: '1700', sequenceNo: 4294967295, }, ], outputs: [ { value: '1200', outputScript: '76a91495e79f51d4260bc0dc3ba7fb77c7be92d0fbdd1d88ac', }, ], lockTime: 0, timeFirstSeen: '1663957640', size: 192, isCoinbase: false, network: 'XEC', }, { txid: '4993ad3b9db58bef37689a304c485bdc16c6418e05d2b57c77f8b8a2fb3450e4', version: 2, inputs: [ { prevOut: { txid: '053d08a11f6da2720a093b55f907a9bdb4246e8ddc032a40347d4823e6c1a046', outIdx: 0, }, inputScript: '47304402202608525692251d17e680b7856da6abda3e92b51fbfc4fc852586355bde4fe6d30220737203dc6832383b5cc1edc45bbc972a7c18e6b3de69fd8f0cc93b0a0fbd3fa5412103318d0e1109f32debc66952d0e3ec21b1cf96575ea4c2a97a6535628f7f8b10e6', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', value: '5500', sequenceNo: 4294967295, }, ], outputs: [ { value: '1100', outputScript: '76a91495e79f51d4260bc0dc3ba7fb77c7be92d0fbdd1d88ac', }, { value: '3945', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', }, ], lockTime: 0, timeFirstSeen: '1663957633', size: 225, isCoinbase: false, network: 'XEC', }, { txid: 'e8bb28fd679fc66ade43a79d088f6b63a2b87d85dbdd5fcd07d7fd7e9be8b1e8', version: 2, inputs: [ { prevOut: { txid: '76684ecd7296b5c97dc8a8ff41a12188ad8b50ba19f2a9c69e67bdb03be6188e', outIdx: 0, }, inputScript: '483045022100ed4f81298d98a4d9c16749cd50ed050dcbbba30266e7c1605f08142ca3f8b9390220298f5290847be114fa33eb931985ea9dd61c39043112db3fcdfcf1efad508247412103318d0e1109f32debc66952d0e3ec21b1cf96575ea4c2a97a6535628f7f8b10e6', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', value: '2200', sequenceNo: 4294967295, }, ], outputs: [ { value: '1000', outputScript: '76a91495e79f51d4260bc0dc3ba7fb77c7be92d0fbdd1d88ac', }, { value: '745', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', }, ], lockTime: 0, timeFirstSeen: '1663957623', size: 226, isCoinbase: false, network: 'XEC', }, { txid: '09033290a18b5c3054dbb6df8b6ad5c3e2bc121ab4cb2a91f79cedb36f05a2ef', version: 2, inputs: [ { prevOut: { txid: 'c0ab154992174fc86381540dbf016d64c4e218a07aec7d5734a841ccbab93e1c', outIdx: 0, }, inputScript: '483045022100f50735a67538602ec240725f9160bdfc96b4ae443fff2cebaf25485e8f98f5720220584ab745222cc7a0cd33d6f287885781b8009bc1e819b9b97436ecdb31abeff2412103318d0e1109f32debc66952d0e3ec21b1cf96575ea4c2a97a6535628f7f8b10e6', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', value: '49545', sequenceNo: 4294967295, }, ], outputs: [ { value: '1300', outputScript: '76a91495e79f51d4260bc0dc3ba7fb77c7be92d0fbdd1d88ac', }, { value: '47790', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', }, ], lockTime: 0, block: { height: 758570, hash: '00000000000000000d1c7a165d8d185103ab30fb2d113334a9d8ee6cb6a9d268', timestamp: '1663956316', }, timeFirstSeen: '1663956020', size: 226, isCoinbase: false, network: 'XEC', }, { txid: 'daf142f1f90dc81efeafb94f986b951ff3bae6fb155565d96fd091e34e61ee29', version: 2, inputs: [ { prevOut: { txid: '5b679c422abc750576c188e3ed0729fb0e452f6ae0a8ad118026755fbceb00b1', outIdx: 1, }, inputScript: '483045022100ac91ae0c612165e500605ae41080a30be891ef757c378733bfe5533f331d0e97022020babc7d6a267fc5fbab8ba9740968732978abf4cf63e049721c008532204bf8412103318d0e1109f32debc66952d0e3ec21b1cf96575ea4c2a97a6535628f7f8b10e6', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', value: '47562', sequenceNo: 4294967295, }, ], outputs: [ { value: '1200', outputScript: '76a91495e79f51d4260bc0dc3ba7fb77c7be92d0fbdd1d88ac', }, { value: '45907', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', }, ], lockTime: 0, block: { height: 758570, hash: '00000000000000000d1c7a165d8d185103ab30fb2d113334a9d8ee6cb6a9d268', timestamp: '1663956316', }, timeFirstSeen: '1663956011', size: 226, isCoinbase: false, network: 'XEC', }, { txid: '376593dc3d3e305843fe23692e1477ae13ae1e8bfc778273c544a0c5d6285337', version: 2, inputs: [ { prevOut: { txid: '930259a2fe4de56a15ab33d5f2b13bfd08568c3d662df6b1a3c090a19aab8104', outIdx: 0, }, inputScript: '48304502210086a6072eaabb3502c73cbb6701c04edca374de60d62b888614d76b352203e9d602205721cec95da5a0ceda4cf54bf4bf8f54bec3d07b1caa75e1d65a87d8b5572f0f412103318d0e1109f32debc66952d0e3ec21b1cf96575ea4c2a97a6535628f7f8b10e6', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', value: '3300', sequenceNo: 4294967295, }, ], outputs: [ { value: '1100', outputScript: '76a91495e79f51d4260bc0dc3ba7fb77c7be92d0fbdd1d88ac', }, { value: '1745', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', }, ], lockTime: 0, block: { height: 758570, hash: '00000000000000000d1c7a165d8d185103ab30fb2d113334a9d8ee6cb6a9d268', timestamp: '1663956316', }, timeFirstSeen: '1663956003', size: 226, isCoinbase: false, network: 'XEC', }, { txid: '2faa94a50ddffc795f6044214efbca0d0190ed520e7e0fd35c4623ecd64b4e45', version: 2, inputs: [ { prevOut: { txid: '08ac32dc47252668cd32dbe0d9af15d1ae9e282ae56c3743a258d11613105924', outIdx: 0, }, inputScript: '47304402207031eafbfb4f762f1eb719defa8cb890f55085c593244eecce57082b7013fd4f02205178c40c57903baa3d9ebf554d2f3892859599b6e358e10725db81c14de4c80f412103318d0e1109f32debc66952d0e3ec21b1cf96575ea4c2a97a6535628f7f8b10e6', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', value: '2200', sequenceNo: 4294967295, }, { prevOut: { txid: '47d4940ded21de01c62675d31e211a381cc7d866dcf292af0422cdc616d927a8', outIdx: 2, }, inputScript: '473044022058d957ffc312b4f9eefd71fb2c708e0a82bf72e56fdb322d75b4201453e413c402200df9176569cb2523f541dcff39f27c116926b214de37109775f3e5015e050604412103318d0e1109f32debc66952d0e3ec21b1cf96575ea4c2a97a6535628f7f8b10e6', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', value: '546', sequenceNo: 4294967295, slpToken: { amount: '34', isMintBaton: false, }, }, ], outputs: [ { value: '0', outputScript: '6a04534c500001010453454e44204bd147fc5d5ff26249a9299c46b80920c0b81f59a60e05428262160ebee0b0c308000000000000000508000000000000001d', }, { value: '546', outputScript: '76a91495e79f51d4260bc0dc3ba7fb77c7be92d0fbdd1d88ac', slpToken: { amount: '5', isMintBaton: false, }, }, { value: '546', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', slpToken: { amount: '29', isMintBaton: false, }, }, ], lockTime: 0, slpTxData: { slpMeta: { tokenType: 'FUNGIBLE', txType: 'SEND', tokenId: '4bd147fc5d5ff26249a9299c46b80920c0b81f59a60e05428262160ebee0b0c3', }, }, block: { height: 758570, hash: '00000000000000000d1c7a165d8d185103ab30fb2d113334a9d8ee6cb6a9d268', timestamp: '1663956316', }, timeFirstSeen: '1663955995', size: 445, isCoinbase: false, network: 'XEC', }, { txid: 'c66b09f5c6b2afa5c63ff7c2ca2cc8d9538568a18c75b0e7d900c9c1be2758f7', version: 2, inputs: [ { prevOut: { txid: '43beeeeb761c401a1d121840e87c86237c98e9310e889feb0a34426e2a1ee463', outIdx: 0, }, inputScript: '4730440220606efba360bf0843f8c3fe9fab7d1cdc34852395b9045a4c3cf8f27b91d414f2022054fb11ce6e4fd2ee50ba467e94460c63e45fb563e330fc35c5caa8eea71e93b7412103318d0e1109f32debc66952d0e3ec21b1cf96575ea4c2a97a6535628f7f8b10e6', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', value: '3300', sequenceNo: 4294967295, }, ], outputs: [ { value: '1900', outputScript: '76a91495e79f51d4260bc0dc3ba7fb77c7be92d0fbdd1d88ac', }, { value: '945', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', }, ], lockTime: 0, block: { height: 758569, hash: '00000000000000000cbb0ac1fe8b1a4a87cd9bf58e7158333a1c32009c9137f0', timestamp: '1663955917', }, timeFirstSeen: '1663955710', size: 225, isCoinbase: false, network: 'XEC', }, ]; export const mockSortedFlatTxHistoryWithUnconfirmed = [ { txid: 'fa2e8951ee2ba44bab33e38c5b903bf77657363cffe268e8ae9f4728e14b04d8', version: 2, inputs: [ { prevOut: { txid: '6f0f29e02308fa670e8412f4c2d84e7e46f8d3fd6436dbc8676b8af99bb34a60', outIdx: 0, }, inputScript: '483045022100920a6f8696b0fadd7b82f3450090cd7f198d7287551bb8f08065951c7e5f9455022004d5d8304b056f2f4a6474392665cf8dfd897ea02f18506aced86b552482e404412103318d0e1109f32debc66952d0e3ec21b1cf96575ea4c2a97a6535628f7f8b10e6', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', value: '3300', sequenceNo: 4294967295, }, { prevOut: { txid: '3d60d2d130eee3e45e6a2d0e88e2ecae82d70c1ed1afc8f62ca9c8564d38108d', outIdx: 1, }, inputScript: '4830450221008461ccf6961f300a0f8c7ec5526813b531aea5033cacef6d15ab7e033f50130102206d22a9a7bd0ec2f04ace2c0642f233fea3bbed7ee677e53416845a0bfd367044412103318d0e1109f32debc66952d0e3ec21b1cf96575ea4c2a97a6535628f7f8b10e6', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', value: '546', sequenceNo: 4294967295, slpToken: { amount: '17', isMintBaton: false, }, }, ], outputs: [ { value: '0', outputScript: '6a04534c500001010453454e44204bd147fc5d5ff26249a9299c46b80920c0b81f59a60e05428262160ebee0b0c308000000000000000e080000000000000003', }, { value: '546', outputScript: '76a91495e79f51d4260bc0dc3ba7fb77c7be92d0fbdd1d88ac', slpToken: { amount: '14', isMintBaton: false, }, }, { value: '546', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', slpToken: { amount: '3', isMintBaton: false, }, }, { value: '1482', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', }, ], lockTime: 0, slpTxData: { slpMeta: { tokenType: 'FUNGIBLE', txType: 'SEND', tokenId: '4bd147fc5d5ff26249a9299c46b80920c0b81f59a60e05428262160ebee0b0c3', }, }, timeFirstSeen: '1663957661', size: 481, isCoinbase: false, network: 'XEC', }, { txid: 'cd4b0008e90b2a872dc92e19cdd87f52466b801f037641193196e75ff10f6990', version: 2, inputs: [ { prevOut: { txid: '0cf5a88f891b76da82c2d48d548f7e445355d6d8695ce91f1aee13e641a34183', outIdx: 1, }, inputScript: '473044022064c39d8fa6b89fcd0961d06ee7c6976c798b2de6f33bdd58b6db56a2c45b235102204444a625e5328eee7139110c03100bdc062292f28d6de8e2b36536a39d2466df412103318d0e1109f32debc66952d0e3ec21b1cf96575ea4c2a97a6535628f7f8b10e6', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', value: '1200', sequenceNo: 4294967295, }, { prevOut: { txid: '4f1a2f3e24b270b57e4d6b9bc6204360cdfeb1dfeca7d92379d49a7ba55c8a5f', outIdx: 0, }, inputScript: '483045022100cff4ca28b0bd320f4aa7bd3029b0c1e48c392b42c56b7dfdca292bbb14302e5f02206bc74177a98481e49c937a6229ebd8191f653a363c95cd37b69f1300f05f6d3a412103318d0e1109f32debc66952d0e3ec21b1cf96575ea4c2a97a6535628f7f8b10e6', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', value: '2200', sequenceNo: 4294967295, }, { prevOut: { txid: '46cf8bf009dbc6da45045c23af878cd2fd6dd3d3f62bf524d675e75959d5fdbd', outIdx: 2, }, inputScript: '483045022100ad48dd7d1196b108e3ee0412edcbe468031dcf48244b9b4b57f6cc9e710c836602202e5a00a2c9e1e6fc8937af70fcb8018e299dd007235229e6e3d87f6af9f8761c412103318d0e1109f32debc66952d0e3ec21b1cf96575ea4c2a97a6535628f7f8b10e6', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', value: '546', sequenceNo: 4294967295, slpToken: { amount: '228', isMintBaton: false, }, }, ], outputs: [ { value: '0', outputScript: '6a04534c500001010453454e44204bd147fc5d5ff26249a9299c46b80920c0b81f59a60e05428262160ebee0b0c308000000000000000d0800000000000000d7', }, { value: '546', outputScript: '76a91495e79f51d4260bc0dc3ba7fb77c7be92d0fbdd1d88ac', slpToken: { amount: '13', isMintBaton: false, }, }, { value: '546', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', slpToken: { amount: '215', isMintBaton: false, }, }, { value: '1255', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', }, ], lockTime: 0, slpTxData: { slpMeta: { tokenType: 'FUNGIBLE', txType: 'SEND', tokenId: '4bd147fc5d5ff26249a9299c46b80920c0b81f59a60e05428262160ebee0b0c3', }, }, timeFirstSeen: '1663957652', size: 628, isCoinbase: false, network: 'XEC', }, { txid: '7fcdf5c36d246ede7fb64fed835a2400b0700ecedfdf4e6f738e5a8026d44275', version: 2, inputs: [ { prevOut: { txid: '09be4bad8545cb249fe8673be5e45d5d1109a8a91b6a862a6e9ad041e2f3232d', outIdx: 1, }, inputScript: '483045022100c30541783609812c5a4066e6395488f3bcabc0cd5a21444d79868c31016b5c9f02200d1c7709f414411a3e3cd9dbf606648339fb2c309b016e490d52aa565510e151412103318d0e1109f32debc66952d0e3ec21b1cf96575ea4c2a97a6535628f7f8b10e6', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', value: '1700', sequenceNo: 4294967295, }, ], outputs: [ { value: '1200', outputScript: '76a91495e79f51d4260bc0dc3ba7fb77c7be92d0fbdd1d88ac', }, ], lockTime: 0, timeFirstSeen: '1663957640', size: 192, isCoinbase: false, network: 'XEC', }, { txid: '4993ad3b9db58bef37689a304c485bdc16c6418e05d2b57c77f8b8a2fb3450e4', version: 2, inputs: [ { prevOut: { txid: '053d08a11f6da2720a093b55f907a9bdb4246e8ddc032a40347d4823e6c1a046', outIdx: 0, }, inputScript: '47304402202608525692251d17e680b7856da6abda3e92b51fbfc4fc852586355bde4fe6d30220737203dc6832383b5cc1edc45bbc972a7c18e6b3de69fd8f0cc93b0a0fbd3fa5412103318d0e1109f32debc66952d0e3ec21b1cf96575ea4c2a97a6535628f7f8b10e6', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', value: '5500', sequenceNo: 4294967295, }, ], outputs: [ { value: '1100', outputScript: '76a91495e79f51d4260bc0dc3ba7fb77c7be92d0fbdd1d88ac', }, { value: '3945', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', }, ], lockTime: 0, timeFirstSeen: '1663957633', size: 225, isCoinbase: false, network: 'XEC', }, { txid: 'e8bb28fd679fc66ade43a79d088f6b63a2b87d85dbdd5fcd07d7fd7e9be8b1e8', version: 2, inputs: [ { prevOut: { txid: '76684ecd7296b5c97dc8a8ff41a12188ad8b50ba19f2a9c69e67bdb03be6188e', outIdx: 0, }, inputScript: '483045022100ed4f81298d98a4d9c16749cd50ed050dcbbba30266e7c1605f08142ca3f8b9390220298f5290847be114fa33eb931985ea9dd61c39043112db3fcdfcf1efad508247412103318d0e1109f32debc66952d0e3ec21b1cf96575ea4c2a97a6535628f7f8b10e6', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', value: '2200', sequenceNo: 4294967295, }, ], outputs: [ { value: '1000', outputScript: '76a91495e79f51d4260bc0dc3ba7fb77c7be92d0fbdd1d88ac', }, { value: '745', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', }, ], lockTime: 0, timeFirstSeen: '1663957623', size: 226, isCoinbase: false, network: 'XEC', }, { txid: '09033290a18b5c3054dbb6df8b6ad5c3e2bc121ab4cb2a91f79cedb36f05a2ef', version: 2, inputs: [ { prevOut: { txid: 'c0ab154992174fc86381540dbf016d64c4e218a07aec7d5734a841ccbab93e1c', outIdx: 0, }, inputScript: '483045022100f50735a67538602ec240725f9160bdfc96b4ae443fff2cebaf25485e8f98f5720220584ab745222cc7a0cd33d6f287885781b8009bc1e819b9b97436ecdb31abeff2412103318d0e1109f32debc66952d0e3ec21b1cf96575ea4c2a97a6535628f7f8b10e6', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', value: '49545', sequenceNo: 4294967295, }, ], outputs: [ { value: '1300', outputScript: '76a91495e79f51d4260bc0dc3ba7fb77c7be92d0fbdd1d88ac', }, { value: '47790', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', }, ], lockTime: 0, block: { height: 758570, hash: '00000000000000000d1c7a165d8d185103ab30fb2d113334a9d8ee6cb6a9d268', timestamp: '1663956316', }, timeFirstSeen: '1663956020', size: 226, isCoinbase: false, network: 'XEC', }, { txid: 'daf142f1f90dc81efeafb94f986b951ff3bae6fb155565d96fd091e34e61ee29', version: 2, inputs: [ { prevOut: { txid: '5b679c422abc750576c188e3ed0729fb0e452f6ae0a8ad118026755fbceb00b1', outIdx: 1, }, inputScript: '483045022100ac91ae0c612165e500605ae41080a30be891ef757c378733bfe5533f331d0e97022020babc7d6a267fc5fbab8ba9740968732978abf4cf63e049721c008532204bf8412103318d0e1109f32debc66952d0e3ec21b1cf96575ea4c2a97a6535628f7f8b10e6', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', value: '47562', sequenceNo: 4294967295, }, ], outputs: [ { value: '1200', outputScript: '76a91495e79f51d4260bc0dc3ba7fb77c7be92d0fbdd1d88ac', }, { value: '45907', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', }, ], lockTime: 0, block: { height: 758570, hash: '00000000000000000d1c7a165d8d185103ab30fb2d113334a9d8ee6cb6a9d268', timestamp: '1663956316', }, timeFirstSeen: '1663956011', size: 226, isCoinbase: false, network: 'XEC', }, { txid: '376593dc3d3e305843fe23692e1477ae13ae1e8bfc778273c544a0c5d6285337', version: 2, inputs: [ { prevOut: { txid: '930259a2fe4de56a15ab33d5f2b13bfd08568c3d662df6b1a3c090a19aab8104', outIdx: 0, }, inputScript: '48304502210086a6072eaabb3502c73cbb6701c04edca374de60d62b888614d76b352203e9d602205721cec95da5a0ceda4cf54bf4bf8f54bec3d07b1caa75e1d65a87d8b5572f0f412103318d0e1109f32debc66952d0e3ec21b1cf96575ea4c2a97a6535628f7f8b10e6', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', value: '3300', sequenceNo: 4294967295, }, ], outputs: [ { value: '1100', outputScript: '76a91495e79f51d4260bc0dc3ba7fb77c7be92d0fbdd1d88ac', }, { value: '1745', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', }, ], lockTime: 0, block: { height: 758570, hash: '00000000000000000d1c7a165d8d185103ab30fb2d113334a9d8ee6cb6a9d268', timestamp: '1663956316', }, timeFirstSeen: '1663956003', size: 226, isCoinbase: false, network: 'XEC', }, { txid: '2faa94a50ddffc795f6044214efbca0d0190ed520e7e0fd35c4623ecd64b4e45', version: 2, inputs: [ { prevOut: { txid: '08ac32dc47252668cd32dbe0d9af15d1ae9e282ae56c3743a258d11613105924', outIdx: 0, }, inputScript: '47304402207031eafbfb4f762f1eb719defa8cb890f55085c593244eecce57082b7013fd4f02205178c40c57903baa3d9ebf554d2f3892859599b6e358e10725db81c14de4c80f412103318d0e1109f32debc66952d0e3ec21b1cf96575ea4c2a97a6535628f7f8b10e6', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', value: '2200', sequenceNo: 4294967295, }, { prevOut: { txid: '47d4940ded21de01c62675d31e211a381cc7d866dcf292af0422cdc616d927a8', outIdx: 2, }, inputScript: '473044022058d957ffc312b4f9eefd71fb2c708e0a82bf72e56fdb322d75b4201453e413c402200df9176569cb2523f541dcff39f27c116926b214de37109775f3e5015e050604412103318d0e1109f32debc66952d0e3ec21b1cf96575ea4c2a97a6535628f7f8b10e6', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', value: '546', sequenceNo: 4294967295, slpToken: { amount: '34', isMintBaton: false, }, }, ], outputs: [ { value: '0', outputScript: '6a04534c500001010453454e44204bd147fc5d5ff26249a9299c46b80920c0b81f59a60e05428262160ebee0b0c308000000000000000508000000000000001d', }, { value: '546', outputScript: '76a91495e79f51d4260bc0dc3ba7fb77c7be92d0fbdd1d88ac', slpToken: { amount: '5', isMintBaton: false, }, }, { value: '546', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', slpToken: { amount: '29', isMintBaton: false, }, }, ], lockTime: 0, slpTxData: { slpMeta: { tokenType: 'FUNGIBLE', txType: 'SEND', tokenId: '4bd147fc5d5ff26249a9299c46b80920c0b81f59a60e05428262160ebee0b0c3', }, }, block: { height: 758570, hash: '00000000000000000d1c7a165d8d185103ab30fb2d113334a9d8ee6cb6a9d268', timestamp: '1663956316', }, timeFirstSeen: '1663955995', size: 445, isCoinbase: false, network: 'XEC', }, { txid: 'c66b09f5c6b2afa5c63ff7c2ca2cc8d9538568a18c75b0e7d900c9c1be2758f7', version: 2, inputs: [ { prevOut: { txid: '43beeeeb761c401a1d121840e87c86237c98e9310e889feb0a34426e2a1ee463', outIdx: 0, }, inputScript: '4730440220606efba360bf0843f8c3fe9fab7d1cdc34852395b9045a4c3cf8f27b91d414f2022054fb11ce6e4fd2ee50ba467e94460c63e45fb563e330fc35c5caa8eea71e93b7412103318d0e1109f32debc66952d0e3ec21b1cf96575ea4c2a97a6535628f7f8b10e6', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', value: '3300', sequenceNo: 4294967295, }, ], outputs: [ { value: '1900', outputScript: '76a91495e79f51d4260bc0dc3ba7fb77c7be92d0fbdd1d88ac', }, { value: '945', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', }, ], lockTime: 0, block: { height: 758569, hash: '00000000000000000cbb0ac1fe8b1a4a87cd9bf58e7158333a1c32009c9137f0', timestamp: '1663955917', }, timeFirstSeen: '1663955710', size: 225, isCoinbase: false, network: 'XEC', }, ]; export const mockFlatTxHistoryWithAllUnconfirmed = [ { txid: 'fec829a1ff34a9f84058cdd8bf795c114a8fcb3bcc6c3ca9ea8b9ae68420dd9a', version: 2, inputs: [ { prevOut: { txid: '66ce76f8ebcd0ac83702c4a71e259cee9fceedf9cfdb2b08e8ebe15483e50f56', outIdx: 1, }, inputScript: '4730440220724f1f261ad1e2b6b21e065632c6da0ebe3701693205f5485b395d747645fdf502207062fda8367c20b3e090391994176bf5b40877c1b60e450d73a37255d6ee10dd412103318d0e1109f32debc66952d0e3ec21b1cf96575ea4c2a97a6535628f7f8b10e6', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', value: '39162', sequenceNo: 4294967295, }, ], outputs: [ { value: '2500', outputScript: '76a91495e79f51d4260bc0dc3ba7fb77c7be92d0fbdd1d88ac', }, { value: '36207', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', }, ], lockTime: 0, timeFirstSeen: '1663960417', size: 225, isCoinbase: false, network: 'XEC', }, { txid: '66ce76f8ebcd0ac83702c4a71e259cee9fceedf9cfdb2b08e8ebe15483e50f56', version: 2, inputs: [ { prevOut: { txid: '842dd09e723d664d7647bc49f911c88b60f0450e646fedb461f319dadb867934', outIdx: 1, }, inputScript: '48304502210084dcee7aefac851d47e1a8dbadc4a6263fe87a661ed37541d611c8765510501f022001e606d50a8c784b0295dd7e4e5fe58f89592cf9d81f4de6daf7bdf6ee2a32a8412103318d0e1109f32debc66952d0e3ec21b1cf96575ea4c2a97a6535628f7f8b10e6', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', value: '42017', sequenceNo: 4294967295, }, ], outputs: [ { value: '2400', outputScript: '76a91495e79f51d4260bc0dc3ba7fb77c7be92d0fbdd1d88ac', }, { value: '39162', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', spentBy: { txid: 'fec829a1ff34a9f84058cdd8bf795c114a8fcb3bcc6c3ca9ea8b9ae68420dd9a', outIdx: 0, }, }, ], lockTime: 0, timeFirstSeen: '1663960406', size: 226, isCoinbase: false, network: 'XEC', }, { txid: '842dd09e723d664d7647bc49f911c88b60f0450e646fedb461f319dadb867934', version: 2, inputs: [ { prevOut: { txid: '6bfdfbb71b71d0b1c024c777e5cc6a6b81806dbb673d4f5e65ab30476035f269', outIdx: 3, }, inputScript: '473044022036cd1605ab5122e9769549cf953d5638022c99dcb6c838c77eeaa958e14ba5180220466cced2c01885f83e38e26821238dd0b9697c5029e232cfe6cb5356742ebe58412103318d0e1109f32debc66952d0e3ec21b1cf96575ea4c2a97a6535628f7f8b10e6', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', value: '44772', sequenceNo: 4294967295, slpBurn: { token: { amount: '0', isMintBaton: false, }, tokenId: '98183238638ecb4ddc365056e22de0e8a05448c1e6084bae247fae5a74ad4f48', }, }, ], outputs: [ { value: '2300', outputScript: '76a91495e79f51d4260bc0dc3ba7fb77c7be92d0fbdd1d88ac', }, { value: '42017', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', spentBy: { txid: '66ce76f8ebcd0ac83702c4a71e259cee9fceedf9cfdb2b08e8ebe15483e50f56', outIdx: 0, }, }, ], lockTime: 0, timeFirstSeen: '1663960398', size: 225, isCoinbase: false, network: 'XEC', }, { txid: 'eb79e90e3b5a0b6766cbfab3efd9c52f831bef62f9f27c2aa925ee81e43b843f', version: 2, inputs: [ { prevOut: { txid: '5944386e40a401ff31940f9d41e7983bec3b617d83efba0033eba28926a2fb9e', outIdx: 3, }, inputScript: '47304402206be85d81c79a53dc6a598e08091ad6aededdc4a710601c9fb477cff9dab24c7402200ec9bf7b1f0ce605916b8308ebea3d8024280659229db43d53be05ed5a0be5f0412103318d0e1109f32debc66952d0e3ec21b1cf96575ea4c2a97a6535628f7f8b10e6', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', value: '1825562', sequenceNo: 4294967295, slpBurn: { token: { amount: '0', isMintBaton: false, }, tokenId: '98183238638ecb4ddc365056e22de0e8a05448c1e6084bae247fae5a74ad4f48', }, }, ], outputs: [ { value: '2200', outputScript: '76a91495e79f51d4260bc0dc3ba7fb77c7be92d0fbdd1d88ac', }, { value: '1822907', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', }, ], lockTime: 0, timeFirstSeen: '1663960388', size: 225, isCoinbase: false, network: 'XEC', }, { txid: 'f051b152f13004c18b5aab3b615d88af8175fa5416426fb73e3731fa530f064d', version: 2, inputs: [ { prevOut: { txid: '384e4b305f204597f77dee4677895bee356e5e3cac07806ad28e9115faddef6c', outIdx: 3, }, inputScript: '483045022100b6a6027d41170d2bb917b632a4a30df60ef3b51e90a27eb701f18a63a99a4313022029ccbace732ee942f8ee5773bbc4a3e3dd046af7e9ccf5889d8c333d27e302d8412103318d0e1109f32debc66952d0e3ec21b1cf96575ea4c2a97a6535628f7f8b10e6', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', value: '1190050', sequenceNo: 4294967295, slpBurn: { token: { amount: '0', isMintBaton: false, }, tokenId: '98183238638ecb4ddc365056e22de0e8a05448c1e6084bae247fae5a74ad4f48', }, }, ], outputs: [ { value: '2100', outputScript: '76a91495e79f51d4260bc0dc3ba7fb77c7be92d0fbdd1d88ac', }, { value: '1187495', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', }, ], lockTime: 0, timeFirstSeen: '1663960377', size: 226, isCoinbase: false, network: 'XEC', }, { txid: '6bfdfbb71b71d0b1c024c777e5cc6a6b81806dbb673d4f5e65ab30476035f269', version: 2, inputs: [ { prevOut: { txid: 'd11d964010240aceb9cab32c200a87d2f44330852cc1f16a5e9daeed00d3a465', outIdx: 3, }, inputScript: '48304502210092f2508a5f19b67be121dc5d8fd70569d9275a11f2c1724db8c714ad4d06b14e02206e8a3101f8ceecc19b5508455e1542c65847951456cf884444e951d6e0cfb5ef412103318d0e1109f32debc66952d0e3ec21b1cf96575ea4c2a97a6535628f7f8b10e6', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', value: '46590', sequenceNo: 4294967295, }, { prevOut: { txid: '5944386e40a401ff31940f9d41e7983bec3b617d83efba0033eba28926a2fb9e', outIdx: 2, }, inputScript: '47304402200e225ab4c7d20aef968d95fbf6f881f313c9b35aef891edd4192c5320f147f2502205794732b6242c3a445ee1340ca03950e2044321b9c99bf7d5805ea36cac756dc412103318d0e1109f32debc66952d0e3ec21b1cf96575ea4c2a97a6535628f7f8b10e6', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', value: '546', sequenceNo: 4294967295, slpToken: { amount: '8832', isMintBaton: false, }, }, ], outputs: [ { value: '0', outputScript: '6a04534c500001010453454e442098183238638ecb4ddc365056e22de0e8a05448c1e6084bae247fae5a74ad4f4808000000000000000508000000000000227b', }, { value: '546', outputScript: '76a91495e79f51d4260bc0dc3ba7fb77c7be92d0fbdd1d88ac', slpToken: { amount: '5', isMintBaton: false, }, }, { value: '546', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', slpToken: { amount: '8827', isMintBaton: false, }, }, { value: '44772', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', spentBy: { txid: '842dd09e723d664d7647bc49f911c88b60f0450e646fedb461f319dadb867934', outIdx: 0, }, }, ], lockTime: 0, slpTxData: { slpMeta: { tokenType: 'FUNGIBLE', txType: 'SEND', tokenId: '98183238638ecb4ddc365056e22de0e8a05448c1e6084bae247fae5a74ad4f48', }, }, timeFirstSeen: '1663960365', size: 480, isCoinbase: false, network: 'XEC', }, { txid: '5944386e40a401ff31940f9d41e7983bec3b617d83efba0033eba28926a2fb9e', version: 2, inputs: [ { prevOut: { txid: 'c9cd91d763aeb252b889f815f7ca79e0360f0b208ce7cd95f0353d3615173805', outIdx: 1, }, inputScript: '47304402206a807dad013e5bbb5a78bc12349c550f1867be0ec46ebe4a18ca0ffb45b84cf802206345b92bdec24663bc4fb168d6e1601781969393e93fbcad5279fa72bde08774412103318d0e1109f32debc66952d0e3ec21b1cf96575ea4c2a97a6535628f7f8b10e6', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', value: '1827380', sequenceNo: 4294967295, }, { prevOut: { txid: 'd1a286475ac63df6ae51ffe69be5324b848ddf4a0acf8510d9ec266cb4e10454', outIdx: 2, }, inputScript: '47304402200fdb134c8a13fbd1b95ef118c247a8a911e9d52ecaafc86ebb80cc179d69c1e002200bd4dc809c998a511e09f939a3270f7a2f9babae9d75919d2fef83ed66cf7dde412103318d0e1109f32debc66952d0e3ec21b1cf96575ea4c2a97a6535628f7f8b10e6', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', value: '546', sequenceNo: 4294967295, slpToken: { amount: '8836', isMintBaton: false, }, }, ], outputs: [ { value: '0', outputScript: '6a04534c500001010453454e442098183238638ecb4ddc365056e22de0e8a05448c1e6084bae247fae5a74ad4f48080000000000000004080000000000002280', }, { value: '546', outputScript: '76a91495e79f51d4260bc0dc3ba7fb77c7be92d0fbdd1d88ac', slpToken: { amount: '4', isMintBaton: false, }, }, { value: '546', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', slpToken: { amount: '8832', isMintBaton: false, }, spentBy: { txid: '6bfdfbb71b71d0b1c024c777e5cc6a6b81806dbb673d4f5e65ab30476035f269', outIdx: 1, }, }, { value: '1825562', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', spentBy: { txid: 'eb79e90e3b5a0b6766cbfab3efd9c52f831bef62f9f27c2aa925ee81e43b843f', outIdx: 0, }, }, ], lockTime: 0, slpTxData: { slpMeta: { tokenType: 'FUNGIBLE', txType: 'SEND', tokenId: '98183238638ecb4ddc365056e22de0e8a05448c1e6084bae247fae5a74ad4f48', }, }, timeFirstSeen: '1663960353', size: 479, isCoinbase: false, network: 'XEC', }, { txid: 'd1a286475ac63df6ae51ffe69be5324b848ddf4a0acf8510d9ec266cb4e10454', version: 2, inputs: [ { prevOut: { txid: 'c5628a5ebac844a6e62bff2319558711c0d61423b2c222761945414b1f604c68', outIdx: 3, }, inputScript: '483045022100860067702a7ec139379913db22f4aaaca611e1d5cfd89df1c335bc9b72ee36d0022063892a87d269db12a7be0b24e721900b1f287ce9d1fb18431b2cc508ecebfdf7412103318d0e1109f32debc66952d0e3ec21b1cf96575ea4c2a97a6535628f7f8b10e6', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', value: '45507', sequenceNo: 4294967295, }, { prevOut: { txid: 'c638754cb7707edd4faad89bdfee899aa7acbbc61f66e21f8faf60bdbb34fd65', outIdx: 2, }, inputScript: '483045022100c96c70b94f5386efff2a8873d35d7b4c29fafe11555cf2a3daea8f905fb0f73502203751a29b351cca9c337345388237b98312873f44976f08667ae6540423a8d012412103318d0e1109f32debc66952d0e3ec21b1cf96575ea4c2a97a6535628f7f8b10e6', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', value: '546', sequenceNo: 4294967295, slpToken: { amount: '8839', isMintBaton: false, }, }, ], outputs: [ { value: '0', outputScript: '6a04534c500001010453454e442098183238638ecb4ddc365056e22de0e8a05448c1e6084bae247fae5a74ad4f48080000000000000003080000000000002284', }, { value: '546', outputScript: '76a91495e79f51d4260bc0dc3ba7fb77c7be92d0fbdd1d88ac', slpToken: { amount: '3', isMintBaton: false, }, }, { value: '546', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', slpToken: { amount: '8836', isMintBaton: false, }, spentBy: { txid: '5944386e40a401ff31940f9d41e7983bec3b617d83efba0033eba28926a2fb9e', outIdx: 1, }, }, { value: '43689', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', }, ], lockTime: 0, slpTxData: { slpMeta: { tokenType: 'FUNGIBLE', txType: 'SEND', tokenId: '98183238638ecb4ddc365056e22de0e8a05448c1e6084bae247fae5a74ad4f48', }, }, timeFirstSeen: '1663960344', size: 481, isCoinbase: false, network: 'XEC', }, { txid: 'c638754cb7707edd4faad89bdfee899aa7acbbc61f66e21f8faf60bdbb34fd65', version: 2, inputs: [ { prevOut: { txid: 'b142b79dbda8ae4aa580220bec76ae5ee78ff2c206a39ce20138c4f371c22aca', outIdx: 1, }, inputScript: '4730440220219fdd01482905c336ef8345973339ebe6f540fb7ff7f04d808357fd73c137b302207cb8af146cdf3ec643d85f71c9b95bc6b4fa4e0c19d5f76baf0329f4e315ab4d412103318d0e1109f32debc66952d0e3ec21b1cf96575ea4c2a97a6535628f7f8b10e6', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', value: '848', sequenceNo: 4294967295, }, { prevOut: { txid: 'b24bc776a3414479f31835e26c17713cd655dd51c30351a26d3900a126b6275e', outIdx: 1, }, inputScript: '483045022100f8df9b24dc337b5c7b0b41f454fb535a181aa95814d01e3e2246908fda3a5d800220417d4bd3c10d59f9655ddae4229813222abd9a5b148db1a456fde4719ea8dc56412103318d0e1109f32debc66952d0e3ec21b1cf96575ea4c2a97a6535628f7f8b10e6', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', value: '4800', sequenceNo: 4294967295, }, { prevOut: { txid: '384e4b305f204597f77dee4677895bee356e5e3cac07806ad28e9115faddef6c', outIdx: 2, }, inputScript: '483045022100dcc45ddcb243a56ddee5d050dd961d553f4f93704378ce517ad47a161c6f768b022000ef68375269494caa36c9f063ecd6181dfb77b8c4e0e09fdb0433d5a484974e412103318d0e1109f32debc66952d0e3ec21b1cf96575ea4c2a97a6535628f7f8b10e6', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', value: '546', sequenceNo: 4294967295, slpToken: { amount: '8841', isMintBaton: false, }, }, ], outputs: [ { value: '0', outputScript: '6a04534c500001010453454e442098183238638ecb4ddc365056e22de0e8a05448c1e6084bae247fae5a74ad4f48080000000000000002080000000000002287', }, { value: '546', outputScript: '76a91495e79f51d4260bc0dc3ba7fb77c7be92d0fbdd1d88ac', slpToken: { amount: '2', isMintBaton: false, }, }, { value: '546', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', slpToken: { amount: '8839', isMintBaton: false, }, spentBy: { txid: 'd1a286475ac63df6ae51ffe69be5324b848ddf4a0acf8510d9ec266cb4e10454', outIdx: 1, }, }, { value: '3503', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', }, ], lockTime: 0, slpTxData: { slpMeta: { tokenType: 'FUNGIBLE', txType: 'SEND', tokenId: '98183238638ecb4ddc365056e22de0e8a05448c1e6084bae247fae5a74ad4f48', }, }, timeFirstSeen: '1663960334', size: 628, isCoinbase: false, network: 'XEC', }, { txid: '384e4b305f204597f77dee4677895bee356e5e3cac07806ad28e9115faddef6c', version: 2, inputs: [ { prevOut: { txid: '487c4a2fe93806f75670fff2dc0f5906739a8bf02dcf32af1759f33c17f8dc91', outIdx: 3, }, inputScript: '483045022100c1717019de60065cae38519a85a80723fc3ee73573739381ee02fcaaa34a15fd022063059a69397ad3108c2f955c92d195a90e8f1f616e23df132abb6675ac5800c2412103318d0e1109f32debc66952d0e3ec21b1cf96575ea4c2a97a6535628f7f8b10e6', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', value: '992', sequenceNo: 4294967295, }, { prevOut: { txid: '5bb9474c4d682171091ecba6203d3365dab6f3901936122d8035098a80596e2e', outIdx: 1, }, inputScript: '4830450221009b897d907bda2da570c5c273ab277b73c60d8fd39ba605829d0ec4b796fb7c20022011cc67871bf5df4693904fcdee80ac1adba332b14a4cdc9113b15f28e288adad412103318d0e1109f32debc66952d0e3ec21b1cf96575ea4c2a97a6535628f7f8b10e6', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', value: '1191203', sequenceNo: 4294967295, }, { prevOut: { txid: '487c4a2fe93806f75670fff2dc0f5906739a8bf02dcf32af1759f33c17f8dc91', outIdx: 2, }, inputScript: '483045022100be82f7c67c73ecf068905a44ca2147d89b8041e54a432386b25137f7bea0d0aa0220416607e30a8d8d8c08237032eeb7728f938650a70215f6615939cd2455569539412103318d0e1109f32debc66952d0e3ec21b1cf96575ea4c2a97a6535628f7f8b10e6', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', value: '546', sequenceNo: 4294967295, slpToken: { amount: '8842', isMintBaton: false, }, }, ], outputs: [ { value: '0', outputScript: '6a04534c500001010453454e442098183238638ecb4ddc365056e22de0e8a05448c1e6084bae247fae5a74ad4f48080000000000000001080000000000002289', }, { value: '546', outputScript: '76a91495e79f51d4260bc0dc3ba7fb77c7be92d0fbdd1d88ac', slpToken: { amount: '1', isMintBaton: false, }, }, { value: '546', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', slpToken: { amount: '8841', isMintBaton: false, }, spentBy: { txid: 'c638754cb7707edd4faad89bdfee899aa7acbbc61f66e21f8faf60bdbb34fd65', outIdx: 2, }, }, { value: '1190050', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', spentBy: { txid: 'f051b152f13004c18b5aab3b615d88af8175fa5416426fb73e3731fa530f064d', outIdx: 0, }, }, ], lockTime: 0, slpTxData: { slpMeta: { tokenType: 'FUNGIBLE', txType: 'SEND', tokenId: '98183238638ecb4ddc365056e22de0e8a05448c1e6084bae247fae5a74ad4f48', }, }, timeFirstSeen: '1663960323', size: 629, isCoinbase: false, network: 'XEC', }, ]; export const mockSortedFlatTxHistoryWithAllUnconfirmed = [ { txid: 'fec829a1ff34a9f84058cdd8bf795c114a8fcb3bcc6c3ca9ea8b9ae68420dd9a', version: 2, inputs: [ { prevOut: { txid: '66ce76f8ebcd0ac83702c4a71e259cee9fceedf9cfdb2b08e8ebe15483e50f56', outIdx: 1, }, inputScript: '4730440220724f1f261ad1e2b6b21e065632c6da0ebe3701693205f5485b395d747645fdf502207062fda8367c20b3e090391994176bf5b40877c1b60e450d73a37255d6ee10dd412103318d0e1109f32debc66952d0e3ec21b1cf96575ea4c2a97a6535628f7f8b10e6', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', value: '39162', sequenceNo: 4294967295, }, ], outputs: [ { value: '2500', outputScript: '76a91495e79f51d4260bc0dc3ba7fb77c7be92d0fbdd1d88ac', }, { value: '36207', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', }, ], lockTime: 0, timeFirstSeen: '1663960417', size: 225, isCoinbase: false, network: 'XEC', }, { txid: '66ce76f8ebcd0ac83702c4a71e259cee9fceedf9cfdb2b08e8ebe15483e50f56', version: 2, inputs: [ { prevOut: { txid: '842dd09e723d664d7647bc49f911c88b60f0450e646fedb461f319dadb867934', outIdx: 1, }, inputScript: '48304502210084dcee7aefac851d47e1a8dbadc4a6263fe87a661ed37541d611c8765510501f022001e606d50a8c784b0295dd7e4e5fe58f89592cf9d81f4de6daf7bdf6ee2a32a8412103318d0e1109f32debc66952d0e3ec21b1cf96575ea4c2a97a6535628f7f8b10e6', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', value: '42017', sequenceNo: 4294967295, }, ], outputs: [ { value: '2400', outputScript: '76a91495e79f51d4260bc0dc3ba7fb77c7be92d0fbdd1d88ac', }, { value: '39162', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', spentBy: { txid: 'fec829a1ff34a9f84058cdd8bf795c114a8fcb3bcc6c3ca9ea8b9ae68420dd9a', outIdx: 0, }, }, ], lockTime: 0, timeFirstSeen: '1663960406', size: 226, isCoinbase: false, network: 'XEC', }, { txid: '842dd09e723d664d7647bc49f911c88b60f0450e646fedb461f319dadb867934', version: 2, inputs: [ { prevOut: { txid: '6bfdfbb71b71d0b1c024c777e5cc6a6b81806dbb673d4f5e65ab30476035f269', outIdx: 3, }, inputScript: '473044022036cd1605ab5122e9769549cf953d5638022c99dcb6c838c77eeaa958e14ba5180220466cced2c01885f83e38e26821238dd0b9697c5029e232cfe6cb5356742ebe58412103318d0e1109f32debc66952d0e3ec21b1cf96575ea4c2a97a6535628f7f8b10e6', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', value: '44772', sequenceNo: 4294967295, slpBurn: { token: { amount: '0', isMintBaton: false, }, tokenId: '98183238638ecb4ddc365056e22de0e8a05448c1e6084bae247fae5a74ad4f48', }, }, ], outputs: [ { value: '2300', outputScript: '76a91495e79f51d4260bc0dc3ba7fb77c7be92d0fbdd1d88ac', }, { value: '42017', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', spentBy: { txid: '66ce76f8ebcd0ac83702c4a71e259cee9fceedf9cfdb2b08e8ebe15483e50f56', outIdx: 0, }, }, ], lockTime: 0, timeFirstSeen: '1663960398', size: 225, isCoinbase: false, network: 'XEC', }, { txid: 'eb79e90e3b5a0b6766cbfab3efd9c52f831bef62f9f27c2aa925ee81e43b843f', version: 2, inputs: [ { prevOut: { txid: '5944386e40a401ff31940f9d41e7983bec3b617d83efba0033eba28926a2fb9e', outIdx: 3, }, inputScript: '47304402206be85d81c79a53dc6a598e08091ad6aededdc4a710601c9fb477cff9dab24c7402200ec9bf7b1f0ce605916b8308ebea3d8024280659229db43d53be05ed5a0be5f0412103318d0e1109f32debc66952d0e3ec21b1cf96575ea4c2a97a6535628f7f8b10e6', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', value: '1825562', sequenceNo: 4294967295, slpBurn: { token: { amount: '0', isMintBaton: false, }, tokenId: '98183238638ecb4ddc365056e22de0e8a05448c1e6084bae247fae5a74ad4f48', }, }, ], outputs: [ { value: '2200', outputScript: '76a91495e79f51d4260bc0dc3ba7fb77c7be92d0fbdd1d88ac', }, { value: '1822907', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', }, ], lockTime: 0, timeFirstSeen: '1663960388', size: 225, isCoinbase: false, network: 'XEC', }, { txid: 'f051b152f13004c18b5aab3b615d88af8175fa5416426fb73e3731fa530f064d', version: 2, inputs: [ { prevOut: { txid: '384e4b305f204597f77dee4677895bee356e5e3cac07806ad28e9115faddef6c', outIdx: 3, }, inputScript: '483045022100b6a6027d41170d2bb917b632a4a30df60ef3b51e90a27eb701f18a63a99a4313022029ccbace732ee942f8ee5773bbc4a3e3dd046af7e9ccf5889d8c333d27e302d8412103318d0e1109f32debc66952d0e3ec21b1cf96575ea4c2a97a6535628f7f8b10e6', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', value: '1190050', sequenceNo: 4294967295, slpBurn: { token: { amount: '0', isMintBaton: false, }, tokenId: '98183238638ecb4ddc365056e22de0e8a05448c1e6084bae247fae5a74ad4f48', }, }, ], outputs: [ { value: '2100', outputScript: '76a91495e79f51d4260bc0dc3ba7fb77c7be92d0fbdd1d88ac', }, { value: '1187495', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', }, ], lockTime: 0, timeFirstSeen: '1663960377', size: 226, isCoinbase: false, network: 'XEC', }, { txid: '6bfdfbb71b71d0b1c024c777e5cc6a6b81806dbb673d4f5e65ab30476035f269', version: 2, inputs: [ { prevOut: { txid: 'd11d964010240aceb9cab32c200a87d2f44330852cc1f16a5e9daeed00d3a465', outIdx: 3, }, inputScript: '48304502210092f2508a5f19b67be121dc5d8fd70569d9275a11f2c1724db8c714ad4d06b14e02206e8a3101f8ceecc19b5508455e1542c65847951456cf884444e951d6e0cfb5ef412103318d0e1109f32debc66952d0e3ec21b1cf96575ea4c2a97a6535628f7f8b10e6', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', value: '46590', sequenceNo: 4294967295, }, { prevOut: { txid: '5944386e40a401ff31940f9d41e7983bec3b617d83efba0033eba28926a2fb9e', outIdx: 2, }, inputScript: '47304402200e225ab4c7d20aef968d95fbf6f881f313c9b35aef891edd4192c5320f147f2502205794732b6242c3a445ee1340ca03950e2044321b9c99bf7d5805ea36cac756dc412103318d0e1109f32debc66952d0e3ec21b1cf96575ea4c2a97a6535628f7f8b10e6', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', value: '546', sequenceNo: 4294967295, slpToken: { amount: '8832', isMintBaton: false, }, }, ], outputs: [ { value: '0', outputScript: '6a04534c500001010453454e442098183238638ecb4ddc365056e22de0e8a05448c1e6084bae247fae5a74ad4f4808000000000000000508000000000000227b', }, { value: '546', outputScript: '76a91495e79f51d4260bc0dc3ba7fb77c7be92d0fbdd1d88ac', slpToken: { amount: '5', isMintBaton: false, }, }, { value: '546', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', slpToken: { amount: '8827', isMintBaton: false, }, }, { value: '44772', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', spentBy: { txid: '842dd09e723d664d7647bc49f911c88b60f0450e646fedb461f319dadb867934', outIdx: 0, }, }, ], lockTime: 0, slpTxData: { slpMeta: { tokenType: 'FUNGIBLE', txType: 'SEND', tokenId: '98183238638ecb4ddc365056e22de0e8a05448c1e6084bae247fae5a74ad4f48', }, }, timeFirstSeen: '1663960365', size: 480, isCoinbase: false, network: 'XEC', }, { txid: '5944386e40a401ff31940f9d41e7983bec3b617d83efba0033eba28926a2fb9e', version: 2, inputs: [ { prevOut: { txid: 'c9cd91d763aeb252b889f815f7ca79e0360f0b208ce7cd95f0353d3615173805', outIdx: 1, }, inputScript: '47304402206a807dad013e5bbb5a78bc12349c550f1867be0ec46ebe4a18ca0ffb45b84cf802206345b92bdec24663bc4fb168d6e1601781969393e93fbcad5279fa72bde08774412103318d0e1109f32debc66952d0e3ec21b1cf96575ea4c2a97a6535628f7f8b10e6', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', value: '1827380', sequenceNo: 4294967295, }, { prevOut: { txid: 'd1a286475ac63df6ae51ffe69be5324b848ddf4a0acf8510d9ec266cb4e10454', outIdx: 2, }, inputScript: '47304402200fdb134c8a13fbd1b95ef118c247a8a911e9d52ecaafc86ebb80cc179d69c1e002200bd4dc809c998a511e09f939a3270f7a2f9babae9d75919d2fef83ed66cf7dde412103318d0e1109f32debc66952d0e3ec21b1cf96575ea4c2a97a6535628f7f8b10e6', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', value: '546', sequenceNo: 4294967295, slpToken: { amount: '8836', isMintBaton: false, }, }, ], outputs: [ { value: '0', outputScript: '6a04534c500001010453454e442098183238638ecb4ddc365056e22de0e8a05448c1e6084bae247fae5a74ad4f48080000000000000004080000000000002280', }, { value: '546', outputScript: '76a91495e79f51d4260bc0dc3ba7fb77c7be92d0fbdd1d88ac', slpToken: { amount: '4', isMintBaton: false, }, }, { value: '546', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', slpToken: { amount: '8832', isMintBaton: false, }, spentBy: { txid: '6bfdfbb71b71d0b1c024c777e5cc6a6b81806dbb673d4f5e65ab30476035f269', outIdx: 1, }, }, { value: '1825562', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', spentBy: { txid: 'eb79e90e3b5a0b6766cbfab3efd9c52f831bef62f9f27c2aa925ee81e43b843f', outIdx: 0, }, }, ], lockTime: 0, slpTxData: { slpMeta: { tokenType: 'FUNGIBLE', txType: 'SEND', tokenId: '98183238638ecb4ddc365056e22de0e8a05448c1e6084bae247fae5a74ad4f48', }, }, timeFirstSeen: '1663960353', size: 479, isCoinbase: false, network: 'XEC', }, { txid: 'd1a286475ac63df6ae51ffe69be5324b848ddf4a0acf8510d9ec266cb4e10454', version: 2, inputs: [ { prevOut: { txid: 'c5628a5ebac844a6e62bff2319558711c0d61423b2c222761945414b1f604c68', outIdx: 3, }, inputScript: '483045022100860067702a7ec139379913db22f4aaaca611e1d5cfd89df1c335bc9b72ee36d0022063892a87d269db12a7be0b24e721900b1f287ce9d1fb18431b2cc508ecebfdf7412103318d0e1109f32debc66952d0e3ec21b1cf96575ea4c2a97a6535628f7f8b10e6', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', value: '45507', sequenceNo: 4294967295, }, { prevOut: { txid: 'c638754cb7707edd4faad89bdfee899aa7acbbc61f66e21f8faf60bdbb34fd65', outIdx: 2, }, inputScript: '483045022100c96c70b94f5386efff2a8873d35d7b4c29fafe11555cf2a3daea8f905fb0f73502203751a29b351cca9c337345388237b98312873f44976f08667ae6540423a8d012412103318d0e1109f32debc66952d0e3ec21b1cf96575ea4c2a97a6535628f7f8b10e6', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', value: '546', sequenceNo: 4294967295, slpToken: { amount: '8839', isMintBaton: false, }, }, ], outputs: [ { value: '0', outputScript: '6a04534c500001010453454e442098183238638ecb4ddc365056e22de0e8a05448c1e6084bae247fae5a74ad4f48080000000000000003080000000000002284', }, { value: '546', outputScript: '76a91495e79f51d4260bc0dc3ba7fb77c7be92d0fbdd1d88ac', slpToken: { amount: '3', isMintBaton: false, }, }, { value: '546', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', slpToken: { amount: '8836', isMintBaton: false, }, spentBy: { txid: '5944386e40a401ff31940f9d41e7983bec3b617d83efba0033eba28926a2fb9e', outIdx: 1, }, }, { value: '43689', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', }, ], lockTime: 0, slpTxData: { slpMeta: { tokenType: 'FUNGIBLE', txType: 'SEND', tokenId: '98183238638ecb4ddc365056e22de0e8a05448c1e6084bae247fae5a74ad4f48', }, }, timeFirstSeen: '1663960344', size: 481, isCoinbase: false, network: 'XEC', }, { txid: 'c638754cb7707edd4faad89bdfee899aa7acbbc61f66e21f8faf60bdbb34fd65', version: 2, inputs: [ { prevOut: { txid: 'b142b79dbda8ae4aa580220bec76ae5ee78ff2c206a39ce20138c4f371c22aca', outIdx: 1, }, inputScript: '4730440220219fdd01482905c336ef8345973339ebe6f540fb7ff7f04d808357fd73c137b302207cb8af146cdf3ec643d85f71c9b95bc6b4fa4e0c19d5f76baf0329f4e315ab4d412103318d0e1109f32debc66952d0e3ec21b1cf96575ea4c2a97a6535628f7f8b10e6', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', value: '848', sequenceNo: 4294967295, }, { prevOut: { txid: 'b24bc776a3414479f31835e26c17713cd655dd51c30351a26d3900a126b6275e', outIdx: 1, }, inputScript: '483045022100f8df9b24dc337b5c7b0b41f454fb535a181aa95814d01e3e2246908fda3a5d800220417d4bd3c10d59f9655ddae4229813222abd9a5b148db1a456fde4719ea8dc56412103318d0e1109f32debc66952d0e3ec21b1cf96575ea4c2a97a6535628f7f8b10e6', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', value: '4800', sequenceNo: 4294967295, }, { prevOut: { txid: '384e4b305f204597f77dee4677895bee356e5e3cac07806ad28e9115faddef6c', outIdx: 2, }, inputScript: '483045022100dcc45ddcb243a56ddee5d050dd961d553f4f93704378ce517ad47a161c6f768b022000ef68375269494caa36c9f063ecd6181dfb77b8c4e0e09fdb0433d5a484974e412103318d0e1109f32debc66952d0e3ec21b1cf96575ea4c2a97a6535628f7f8b10e6', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', value: '546', sequenceNo: 4294967295, slpToken: { amount: '8841', isMintBaton: false, }, }, ], outputs: [ { value: '0', outputScript: '6a04534c500001010453454e442098183238638ecb4ddc365056e22de0e8a05448c1e6084bae247fae5a74ad4f48080000000000000002080000000000002287', }, { value: '546', outputScript: '76a91495e79f51d4260bc0dc3ba7fb77c7be92d0fbdd1d88ac', slpToken: { amount: '2', isMintBaton: false, }, }, { value: '546', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', slpToken: { amount: '8839', isMintBaton: false, }, spentBy: { txid: 'd1a286475ac63df6ae51ffe69be5324b848ddf4a0acf8510d9ec266cb4e10454', outIdx: 1, }, }, { value: '3503', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', }, ], lockTime: 0, slpTxData: { slpMeta: { tokenType: 'FUNGIBLE', txType: 'SEND', tokenId: '98183238638ecb4ddc365056e22de0e8a05448c1e6084bae247fae5a74ad4f48', }, }, timeFirstSeen: '1663960334', size: 628, isCoinbase: false, network: 'XEC', }, { txid: '384e4b305f204597f77dee4677895bee356e5e3cac07806ad28e9115faddef6c', version: 2, inputs: [ { prevOut: { txid: '487c4a2fe93806f75670fff2dc0f5906739a8bf02dcf32af1759f33c17f8dc91', outIdx: 3, }, inputScript: '483045022100c1717019de60065cae38519a85a80723fc3ee73573739381ee02fcaaa34a15fd022063059a69397ad3108c2f955c92d195a90e8f1f616e23df132abb6675ac5800c2412103318d0e1109f32debc66952d0e3ec21b1cf96575ea4c2a97a6535628f7f8b10e6', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', value: '992', sequenceNo: 4294967295, }, { prevOut: { txid: '5bb9474c4d682171091ecba6203d3365dab6f3901936122d8035098a80596e2e', outIdx: 1, }, inputScript: '4830450221009b897d907bda2da570c5c273ab277b73c60d8fd39ba605829d0ec4b796fb7c20022011cc67871bf5df4693904fcdee80ac1adba332b14a4cdc9113b15f28e288adad412103318d0e1109f32debc66952d0e3ec21b1cf96575ea4c2a97a6535628f7f8b10e6', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', value: '1191203', sequenceNo: 4294967295, }, { prevOut: { txid: '487c4a2fe93806f75670fff2dc0f5906739a8bf02dcf32af1759f33c17f8dc91', outIdx: 2, }, inputScript: '483045022100be82f7c67c73ecf068905a44ca2147d89b8041e54a432386b25137f7bea0d0aa0220416607e30a8d8d8c08237032eeb7728f938650a70215f6615939cd2455569539412103318d0e1109f32debc66952d0e3ec21b1cf96575ea4c2a97a6535628f7f8b10e6', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', value: '546', sequenceNo: 4294967295, slpToken: { amount: '8842', isMintBaton: false, }, }, ], outputs: [ { value: '0', outputScript: '6a04534c500001010453454e442098183238638ecb4ddc365056e22de0e8a05448c1e6084bae247fae5a74ad4f48080000000000000001080000000000002289', }, { value: '546', outputScript: '76a91495e79f51d4260bc0dc3ba7fb77c7be92d0fbdd1d88ac', slpToken: { amount: '1', isMintBaton: false, }, }, { value: '546', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', slpToken: { amount: '8841', isMintBaton: false, }, spentBy: { txid: 'c638754cb7707edd4faad89bdfee899aa7acbbc61f66e21f8faf60bdbb34fd65', outIdx: 2, }, }, { value: '1190050', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', spentBy: { txid: 'f051b152f13004c18b5aab3b615d88af8175fa5416426fb73e3731fa530f064d', outIdx: 0, }, }, ], lockTime: 0, slpTxData: { slpMeta: { tokenType: 'FUNGIBLE', txType: 'SEND', tokenId: '98183238638ecb4ddc365056e22de0e8a05448c1e6084bae247fae5a74ad4f48', }, }, timeFirstSeen: '1663960323', size: 629, isCoinbase: false, network: 'XEC', }, ]; export const mockParseTxWallet = { mnemonic: 'string', name: 'string', Path245: { publicKey: 'string', hash160: '58549b5b93428fac88e36617456cd99a411bd0eb', cashAddress: 'string', slpAddress: 'string', fundingWif: 'string', fundingAddress: 'string', legacyAddress: 'string', }, Path145: { publicKey: 'string', hash160: '438a162355ef683062a7fde9d08dd720397aaee8', cashAddress: 'string', slpAddress: 'string', fundingWif: 'string', fundingAddress: 'string', legacyAddress: 'string', }, Path1899: { publicKey: 'string', hash160: '76458db0ed96fe9863fc1ccec9fa2cfab884b0f6', cashAddress: 'string', slpAddress: 'string', fundingWif: 'string', fundingAddress: 'string', legacyAddress: 'string', }, state: { balances: { totalBalanceInSatoshis: '55421422', totalBalance: '554214.22', }, tokens: [], slpBalancesAndUtxos: { slpUtxos: [], nonSlpUtxos: [], tokens: [], }, parsedTxHistory: [], utxos: [], }, }; export const anotherMockParseTxWallet = { mnemonic: 'string', name: 'string', Path245: { publicKey: '02c0850ac54a3915aa762c1ada2f50076b2aa4bc7d188eee9b5af6ddfa412a363f', hash160: 'a9f494266e4b3c823712f27dedcb83e30b2fe59f', cashAddress: 'string', slpAddress: 'string', fundingWif: 'string', fundingAddress: 'string', legacyAddress: 'string', }, Path145: { publicKey: '03c477d7c44c1aff1549cdb74a32daea2ab4db9c664662a14aedfcb719cec96f29', hash160: '1fb76a7db96fc774cbad00e8a72890602b4be304', cashAddress: 'string', slpAddress: 'string', fundingWif: 'string', fundingAddress: 'string', legacyAddress: 'string', }, Path1899: { publicKey: '03771805b54969a9bea4e3eb14a82851c67592156ddb5e52d3d53677d14a40fba6', hash160: '95e79f51d4260bc0dc3ba7fb77c7be92d0fbdd1d', cashAddress: 'string', slpAddress: 'string', fundingWif: 'string', fundingAddress: 'string', legacyAddress: 'string', }, state: { balances: { totalBalanceInSatoshis: '55421422', totalBalance: '554214.22', }, tokens: [], slpBalancesAndUtxos: { slpUtxos: [], nonSlpUtxos: [], tokens: [], }, parsedTxHistory: [], utxos: [], }, }; export const lambdaIncomingXecTx = { txid: 'ac83faac54059c89c41dea4c3d6704e4f74fb82e4ad2fb948e640f1d19b760de', version: 2, inputs: [ { prevOut: { txid: '783428349b7b040b473ca9720ddbb2eda6fe28db16883ae47f3113b7a0977915', outIdx: 1, }, inputScript: '48304502210094c497d6a0ce9ca6d79819467a1bb3953084b2e003ac7edac3b4f0634800baab02205729e229bd96d3a35cece712e3e9ec2d3f610a43d7712928f806983f209fbd72412103318d0e1109f32debc66952d0e3ec21b1cf96575ea4c2a97a6535628f7f8b10e6', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', value: '517521', sequenceNo: 4294967295, }, ], outputs: [ { value: '4200', outputScript: '76a91476458db0ed96fe9863fc1ccec9fa2cfab884b0f688ac', }, { value: '512866', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', }, ], lockTime: 0, timeFirstSeen: '1652811898', network: 'XEC', }; export const lambdaOutgoingXecTx = { txid: 'b82a67f929d256c9beb04a850ad735f3b322156cc9df2e37cadc130cc4fab660', version: 2, inputs: [ { prevOut: { txid: 'bb161d20f884ce45374fa3f9f1452290a2e52e93c8b552f559fad8ccd1ca33cc', outIdx: 5, }, inputScript: '473044022054a6b2065a0b0bbe70048e782aa9be048cc8bee0a241d08d0b98fcd74505a90202201ed5224f34c9ff73dc0c581390247686af521476a977a58e55ed33c4afd177c2412102c237f49dd4c812f27b09d69d4c8a4da12744fda8ad63ce151fed2a3f41fd8795', outputScript: '76a91476458db0ed96fe9863fc1ccec9fa2cfab884b0f688ac', value: '4400000', sequenceNo: 4294967295, }, ], outputs: [ { value: '22200', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', }, { value: '4377345', outputScript: '76a91476458db0ed96fe9863fc1ccec9fa2cfab884b0f688ac', }, ], lockTime: 0, timeFirstSeen: '1652823464', network: 'XEC', }; export const lambdaIncomingEtokenTx = { txid: '46cf8bf009dbc6da45045c23af878cd2fd6dd3d3f62bf524d675e75959d5fdbd', version: 2, inputs: [ { prevOut: { txid: '51c18b220c2ff1d3ead60c3031316f15ed1c7fa43fbfe563c8227e107f218751', outIdx: 1, }, inputScript: '473044022004db23a179194d5e2d8446159859a3e55521239c807f14d4666c772d1493a7d402206d6ea22a4fb8ef20cd6159d200a7292a3ff0181c8d596e7a3e1b9027e6912103412103318d0e1109f32debc66952d0e3ec21b1cf96575ea4c2a97a6535628f7f8b10e6', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', value: '3891539', sequenceNo: 4294967295, }, { prevOut: { txid: '66f0663e79f6a7fa3bf0834a16b48cb86fa42076c0df25ae89b402d5ee97c311', outIdx: 2, }, inputScript: '483045022100c45951e15402b907c419f8a80bd76d374521faf885327ba3e55021345c2eb41902204cdb84e0190a5f671dd049b6b656f6b9e8b57254ec0123308345d5a634802acd412103318d0e1109f32debc66952d0e3ec21b1cf96575ea4c2a97a6535628f7f8b10e6', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', value: '546', sequenceNo: 4294967295, slpToken: { amount: '240', isMintBaton: false, }, }, ], outputs: [ { value: '0', outputScript: '6a04534c500001010453454e44204bd147fc5d5ff26249a9299c46b80920c0b81f59a60e05428262160ebee0b0c308000000000000000c0800000000000000e4', }, { value: '546', outputScript: '76a91476458db0ed96fe9863fc1ccec9fa2cfab884b0f688ac', slpToken: { amount: '12', isMintBaton: false, }, }, { value: '546', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', slpToken: { amount: '228', isMintBaton: false, }, }, { value: '3889721', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', }, ], lockTime: 0, slpTxData: { slpMeta: { tokenType: 'FUNGIBLE', txType: 'SEND', tokenId: '4bd147fc5d5ff26249a9299c46b80920c0b81f59a60e05428262160ebee0b0c3', }, }, timeFirstSeen: '1652822000', network: 'XEC', }; export const lambdaOutgoingEtokenTx = { txid: '3d60d2d130eee3e45e6a2d0e88e2ecae82d70c1ed1afc8f62ca9c8564d38108d', version: 2, inputs: [ { prevOut: { txid: 'bf7a7d1a063751d8f9c67e88523b3e6ffe8bb133e54ebf3cf500b859adfe16e0', outIdx: 1, }, inputScript: '473044022047077b516d8554aba4deb36c66b789b5136bf16657bf1675ae866fd8a62834f5022035a7bd45422e0d0c343ac832a5efb0c05269ebe591ea400a33c23849cfa7c3a0412102c237f49dd4c812f27b09d69d4c8a4da12744fda8ad63ce151fed2a3f41fd8795', outputScript: '76a91476458db0ed96fe9863fc1ccec9fa2cfab884b0f688ac', value: '450747149', sequenceNo: 4294967295, }, { prevOut: { txid: '66f0663e79f6a7fa3bf0834a16b48cb86fa42076c0df25ae89b402d5ee97c311', outIdx: 1, }, inputScript: '47304402203ba0eff663f253805a4ae75fecf5886d7dbaf6369c9e6f0bbf5c114184223fa202207992c5f1a8cb69b552b1af54a75bbab341bfcf90591e535282bd9409981d8464412102c237f49dd4c812f27b09d69d4c8a4da12744fda8ad63ce151fed2a3f41fd8795', outputScript: '76a91476458db0ed96fe9863fc1ccec9fa2cfab884b0f688ac', value: '546', sequenceNo: 4294967295, slpToken: { amount: '69', isMintBaton: false, }, }, ], outputs: [ { value: '0', outputScript: '6a04534c500001010453454e44204bd147fc5d5ff26249a9299c46b80920c0b81f59a60e05428262160ebee0b0c3080000000000000011080000000000000034', }, { value: '546', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', slpToken: { amount: '17', isMintBaton: false, }, }, { value: '546', outputScript: '76a91476458db0ed96fe9863fc1ccec9fa2cfab884b0f688ac', slpToken: { amount: '52', isMintBaton: false, }, }, { value: '450745331', outputScript: '76a91476458db0ed96fe9863fc1ccec9fa2cfab884b0f688ac', }, ], lockTime: 0, slpTxData: { slpMeta: { tokenType: 'FUNGIBLE', txType: 'SEND', tokenId: '4bd147fc5d5ff26249a9299c46b80920c0b81f59a60e05428262160ebee0b0c3', }, }, timeFirstSeen: '1652823534', network: 'XEC', }; export const eTokenGenesisTx = { txid: 'cf601c56b58bc05a39a95374a4a865f0a8b56544ea937b30fb46315441717c50', version: 2, inputs: [ { prevOut: { txid: 'b142b79dbda8ae4aa580220bec76ae5ee78ff2c206a39ce20138c4f371c22aca', outIdx: 0, }, inputScript: '483045022100ab2a1e04a156e9cc5204e11e77ba399347f3b7ea3e05d45897c7fb7c6854a7ff022065c7e096e0526a0af223ce32e5e162aa577c42f7da231c13e28ebc3532396f20412103771805b54969a9bea4e3eb14a82851c67592156ddb5e52d3d53677d14a40fba6', outputScript: '76a91495e79f51d4260bc0dc3ba7fb77c7be92d0fbdd1d88ac', value: '1300', sequenceNo: 4294967295, }, ], outputs: [ { value: '0', outputScript: '6a04534c500001010747454e45534953035544540a557064617465546573741468747470733a2f2f636173687461622e636f6d2f4c0001074c000800000001cf977871', }, { value: '546', outputScript: '76a91495e79f51d4260bc0dc3ba7fb77c7be92d0fbdd1d88ac', slpToken: { amount: '7777777777', isMintBaton: false, }, }, ], lockTime: 0, slpTxData: { slpMeta: { tokenType: 'FUNGIBLE', txType: 'GENESIS', tokenId: 'cf601c56b58bc05a39a95374a4a865f0a8b56544ea937b30fb46315441717c50', }, genesisInfo: { tokenTicker: 'UDT', tokenName: 'UpdateTest', tokenDocumentUrl: 'https://cashtab.com/', tokenDocumentHash: '', decimals: 7, }, }, block: { height: 759037, hash: '00000000000000000bc95bfdd45e71585f27139e71b56dd5bc86ef05d35b502f', timestamp: '1664226709', }, timeFirstSeen: '1664226189', size: 268, isCoinbase: false, network: 'XEC', }; export const receivedEtokenTxNineDecimals = { txid: 'b808f6a831dcdfda2bd4c5f857f94e1a746a4effeda6a5ad742be6137884a4fb', version: 2, inputs: [ { prevOut: { txid: 'c638754cb7707edd4faad89bdfee899aa7acbbc61f66e21f8faf60bdbb34fd65', outIdx: 3, }, inputScript: '4830450221009d649476ad963306a5210d9df2dfd7e2bb604be43d6cdfe359638d96239973eb02200ac6e71575f0f111dad2fbbeb2712490cc709ffe03eda7de33acc8614b2c0979412103318d0e1109f32debc66952d0e3ec21b1cf96575ea4c2a97a6535628f7f8b10e6', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', value: '3503', sequenceNo: 4294967295, }, { prevOut: { txid: '82d8dc652779f8d6c8453d2ba5aefec91f5247489246e5672cf3c5986fa3d235', outIdx: 2, }, inputScript: '483045022100b7bec6d09e71bc4c124886e5953f6e7a7845c920f66feac2e9e5d16fc58a649a0220689d617c11ef0bd63dbb7ea0fa5c0d3419d6500535bda8f7a7fc3e27f27c3de6412103318d0e1109f32debc66952d0e3ec21b1cf96575ea4c2a97a6535628f7f8b10e6', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', value: '546', sequenceNo: 4294967295, slpToken: { amount: '9876543156', isMintBaton: false, }, }, ], outputs: [ { value: '0', outputScript: '6a04534c500001010453454e4420acba1d7f354c6d4d001eb99d31de174e5cea8a31d692afd6e7eb8474ad541f550800000000075bcd1508000000024554499f', }, { value: '546', outputScript: '76a91495e79f51d4260bc0dc3ba7fb77c7be92d0fbdd1d88ac', slpToken: { amount: '123456789', isMintBaton: false, }, }, { value: '546', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', slpToken: { amount: '9753086367', isMintBaton: false, }, }, { value: '1685', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', }, ], lockTime: 0, slpTxData: { slpMeta: { tokenType: 'FUNGIBLE', txType: 'SEND', tokenId: 'acba1d7f354c6d4d001eb99d31de174e5cea8a31d692afd6e7eb8474ad541f55', }, }, timeFirstSeen: '1664837660', size: 481, isCoinbase: false, network: 'XEC', }; export const txHistoryTokenInfoById = { 'bf24d955f59351e738ecd905966606a6837e478e1982943d724eab10caad82fd': { tokenTicker: 'ST', tokenName: 'ST', tokenDocumentUrl: 'developer.bitcoin.com', tokenDocumentHash: '', decimals: 0, tokenId: 'bf24d955f59351e738ecd905966606a6837e478e1982943d724eab10caad82fd', }, 'bef614aac85c0c866f4d39e4d12a96851267d38d1bca5bdd6488bbd42e28b6b1': { tokenTicker: 'CTP', tokenName: 'Cash Tab Points', tokenDocumentUrl: 'https://cashtabapp.com/', tokenDocumentHash: '', decimals: 9, tokenId: 'bef614aac85c0c866f4d39e4d12a96851267d38d1bca5bdd6488bbd42e28b6b1', }, '1f6a65e7a4bde92c0a012de2bcf4007034504a765377cdf08a3ee01d1eaa6901': { tokenTicker: 'πŸ”', tokenName: 'Burger', tokenDocumentUrl: 'https://c4.wallpaperflare.com/wallpaper/58/564/863/giant-hamburger-wallpaper-preview.jpg', tokenDocumentHash: '', decimals: 0, tokenId: '1f6a65e7a4bde92c0a012de2bcf4007034504a765377cdf08a3ee01d1eaa6901', }, 'dd84ca78db4d617221b58eabc6667af8fe2f7eadbfcc213d35be9f1b419beb8d': { tokenTicker: 'TAP', tokenName: 'Thoughts and Prayers', tokenDocumentUrl: '', tokenDocumentHash: '', decimals: 0, tokenId: 'dd84ca78db4d617221b58eabc6667af8fe2f7eadbfcc213d35be9f1b419beb8d', }, '50d8292c6255cda7afc6c8566fed3cf42a2794e9619740fe8f4c95431271410e': { tokenTicker: 'TBC', tokenName: 'tabcash', tokenDocumentUrl: 'https://cashtabapp.com/', tokenDocumentHash: '', decimals: 0, tokenId: '50d8292c6255cda7afc6c8566fed3cf42a2794e9619740fe8f4c95431271410e', }, 'df808a41672a0a0ae6475b44f272a107bc9961b90f29dc918d71301f24fe92fb': { tokenTicker: 'NAKAMOTO', tokenName: 'NAKAMOTO', tokenDocumentUrl: '', tokenDocumentHash: '', decimals: 8, tokenId: 'df808a41672a0a0ae6475b44f272a107bc9961b90f29dc918d71301f24fe92fb', }, '22f4ba40312ea3e90e1bfa88d2aa694c271d2e07361907b6eb5568873ffa62bf': { tokenTicker: 'CLA', tokenName: 'Cashtab Local Alpha', tokenDocumentUrl: 'boomertakes.com', tokenDocumentHash: '', decimals: 5, tokenId: '22f4ba40312ea3e90e1bfa88d2aa694c271d2e07361907b6eb5568873ffa62bf', }, 'da9460ce4b1c92b4f6ef4e4a6bc2d05539f49d02b17681389d9ce22b8dca50f0': { tokenTicker: 'SA', tokenName: 'Spinner Alpha', tokenDocumentUrl: 'https://cashtabapp.com/', tokenDocumentHash: '', decimals: 0, tokenId: 'da9460ce4b1c92b4f6ef4e4a6bc2d05539f49d02b17681389d9ce22b8dca50f0', }, '4db25a4b2f0b57415ce25fab6d9cb3ac2bbb444ff493dc16d0615a11ad06c875': { tokenTicker: 'LVV', tokenName: 'Lambda Variant Variants', tokenDocumentUrl: 'https://cashtabapp.com/', tokenDocumentHash: '', decimals: 0, tokenId: '4db25a4b2f0b57415ce25fab6d9cb3ac2bbb444ff493dc16d0615a11ad06c875', }, '16b12bbacdbb8c8a799adbfd782bfff9843c1f9b0be148eaae02a1a7f74f95c4': { tokenTicker: 'CGEN', tokenName: 'Cashtab Genesis', tokenDocumentUrl: 'https://boomertakes.com/', tokenDocumentHash: '', decimals: 9, tokenId: '16b12bbacdbb8c8a799adbfd782bfff9843c1f9b0be148eaae02a1a7f74f95c4', }, 'bd1acc4c986de57af8d6d2a64aecad8c30ee80f37ae9d066d758923732ddc9ba': { tokenTicker: 'TBS', tokenName: 'TestBits', tokenDocumentUrl: 'https://thecryptoguy.com/', tokenDocumentHash: '', decimals: 9, tokenId: 'bd1acc4c986de57af8d6d2a64aecad8c30ee80f37ae9d066d758923732ddc9ba', }, 'aa7202397a06097e8ff36855aa72c0ee032659747e5bd7cbcd3099fc3a62b6b6': { tokenTicker: 'CTL', tokenName: 'Cashtab Token Launch Launch Token', tokenDocumentUrl: 'https://cashtabapp.com/', tokenDocumentHash: '', decimals: 0, tokenId: 'aa7202397a06097e8ff36855aa72c0ee032659747e5bd7cbcd3099fc3a62b6b6', }, '9e9738e9ac3ff202736bf7775f875ebae6f812650df577a947c20c52475e43da': { tokenTicker: 'CUTT', tokenName: 'Cashtab Unit Test Token', tokenDocumentUrl: 'https://cashtabapp.com/', tokenDocumentHash: '', decimals: 2, tokenId: '9e9738e9ac3ff202736bf7775f875ebae6f812650df577a947c20c52475e43da', }, 'f36e1b3d9a2aaf74f132fef3834e9743b945a667a4204e761b85f2e7b65fd41a': { tokenTicker: 'POW', tokenName: 'ProofofWriting.com Token', tokenDocumentUrl: 'https://www.proofofwriting.com/26', tokenDocumentHash: '', decimals: 0, tokenId: 'f36e1b3d9a2aaf74f132fef3834e9743b945a667a4204e761b85f2e7b65fd41a', }, '7f8889682d57369ed0e32336f8b7e0ffec625a35cca183f4e81fde4e71a538a1': { tokenTicker: 'HONK', tokenName: 'HONK HONK', tokenDocumentUrl: 'THE REAL HONK SLP TOKEN', tokenDocumentHash: '', decimals: 0, tokenId: '7f8889682d57369ed0e32336f8b7e0ffec625a35cca183f4e81fde4e71a538a1', }, '3515f4a9851ad44124e0ddf6149344deb27a97720fc7e5254a9d2c86da7415a9': { tokenTicker: '001', tokenName: '01', tokenDocumentUrl: 'https://cashtab.com/', tokenDocumentHash: '', decimals: 0, tokenId: '3515f4a9851ad44124e0ddf6149344deb27a97720fc7e5254a9d2c86da7415a9', }, '6fb6122742cac8fd1df2d68997fdfa4c077bc22d9ef4a336bfb63d24225f9060': { tokenTicker: '002', tokenName: '2', tokenDocumentUrl: 'https://cashtab.com/', tokenDocumentHash: '', decimals: 0, tokenId: '6fb6122742cac8fd1df2d68997fdfa4c077bc22d9ef4a336bfb63d24225f9060', }, '2936188a41f22a3e0a47d13296147fb3f9ddd2f939fe6382904d21a610e8e49c': { tokenTicker: '002', tokenName: '2', tokenDocumentUrl: 'https://cashtab.com/', tokenDocumentHash: '', decimals: 0, tokenId: '2936188a41f22a3e0a47d13296147fb3f9ddd2f939fe6382904d21a610e8e49c', }, 'e859eeb52e7afca6217fb36784b3b6d3c7386a52f391dd0d00f2ec03a5e8e77b': { tokenTicker: 'test', tokenName: 'test', tokenDocumentUrl: 'https://cashtab.com/', tokenDocumentHash: '', decimals: 1, tokenId: 'e859eeb52e7afca6217fb36784b3b6d3c7386a52f391dd0d00f2ec03a5e8e77b', }, 'bdb3b4215ca0622e0c4c07655522c376eaa891838a82f0217fa453bb0595a37c': { tokenTicker: 'Service', tokenName: 'Evc token', tokenDocumentUrl: 'https://cashtab.com', tokenDocumentHash: '', decimals: 0, tokenId: 'bdb3b4215ca0622e0c4c07655522c376eaa891838a82f0217fa453bb0595a37c', }, '7443f7c831cdf2b2b04d5f0465ed0bcf348582675b0e4f17906438c232c22f3d': { tokenTicker: 'WDT', tokenName: 'Test Token With Exceptionally Long Name For CSS And Style Revisions', tokenDocumentUrl: 'https://www.ImpossiblyLongWebsiteDidYouThinkWebDevWouldBeFun.org', tokenDocumentHash: '85b591c15c9f49531e39fcfeb2a5a26b2bd0f7c018fb9cd71b5d92dfb732d5cc', decimals: 7, tokenId: '7443f7c831cdf2b2b04d5f0465ed0bcf348582675b0e4f17906438c232c22f3d', }, '7bbf452698a24b138b0357f689587fc6ea58410c34503b1179b91e40e10bba8b': { tokenTicker: 'COVID', tokenName: 'COVID-19', tokenDocumentUrl: 'https://en.wikipedia.org/wiki/COVID-19', tokenDocumentHash: '', decimals: 0, tokenId: '7bbf452698a24b138b0357f689587fc6ea58410c34503b1179b91e40e10bba8b', }, '6376cae692cf0302ecdd63234c14cbb2b21cec75ab538335f90254cfb3ed44cc': { tokenTicker: 'CLT', tokenName: 'Cashtab Local Tests', tokenDocumentUrl: 'https://cashtab.com/', tokenDocumentHash: '', decimals: 0, tokenId: '6376cae692cf0302ecdd63234c14cbb2b21cec75ab538335f90254cfb3ed44cc', }, '666c4318d1f7fef5f2c698262492c519018d4e9130f95d05f6be9f0fb7149e96': { tokenTicker: 'CPG', tokenName: 'Cashtab Prod Gamma', tokenDocumentUrl: 'thecryptoguy.com', tokenDocumentHash: '', decimals: 0, tokenId: '666c4318d1f7fef5f2c698262492c519018d4e9130f95d05f6be9f0fb7149e96', }, '157e0cdef5d5c51bdea00eac9ab821d809bb9d03cf98da85833614bedb129be6': { tokenTicker: 'CLNSP', tokenName: 'ComponentLongNameSpeedLoad', tokenDocumentUrl: 'https://cashtabapp.com/', tokenDocumentHash: '', decimals: 0, tokenId: '157e0cdef5d5c51bdea00eac9ab821d809bb9d03cf98da85833614bedb129be6', }, 'acba1d7f354c6d4d001eb99d31de174e5cea8a31d692afd6e7eb8474ad541f55': { tokenTicker: 'CTB', tokenName: 'CashTabBits', tokenDocumentUrl: 'https://cashtabapp.com/', tokenDocumentHash: '', decimals: 9, tokenId: 'acba1d7f354c6d4d001eb99d31de174e5cea8a31d692afd6e7eb8474ad541f55', }, 'ccf5fe5a387559c8ab9efdeb0c0ef1b444e677298cfddf07671245ce3cb3c79f': { tokenTicker: 'XGB', tokenName: 'Garmonbozia', tokenDocumentUrl: 'https://twinpeaks.fandom.com/wiki/Garmonbozia', tokenDocumentHash: '', decimals: 8, tokenId: 'ccf5fe5a387559c8ab9efdeb0c0ef1b444e677298cfddf07671245ce3cb3c79f', }, '4bd147fc5d5ff26249a9299c46b80920c0b81f59a60e05428262160ebee0b0c3': { tokenTicker: 'NOCOVID', tokenName: 'Covid19 Lifetime Immunity', tokenDocumentUrl: 'https://www.who.int/emergencies/diseases/novel-coronavirus-2019/covid-19-vaccines', tokenDocumentHash: '', decimals: 0, tokenId: '4bd147fc5d5ff26249a9299c46b80920c0b81f59a60e05428262160ebee0b0c3', }, 'b8f2a9e767a0be7b80c7e414ef2534586d4da72efddb39a4e70e501ab73375cc': { tokenTicker: 'CTD', tokenName: 'Cashtab Dark', tokenDocumentUrl: 'https://cashtab.com/', tokenDocumentHash: '', decimals: 0, tokenId: 'b8f2a9e767a0be7b80c7e414ef2534586d4da72efddb39a4e70e501ab73375cc', }, '1101bd5d7b6bbc3176fb2b93d08e76ab532b04ff731d71502249e3cb9b6fcb1a': { tokenTicker: 'XBIT', tokenName: 'eBits', tokenDocumentUrl: 'https://boomertakes.com/', tokenDocumentHash: '', decimals: 9, tokenId: '1101bd5d7b6bbc3176fb2b93d08e76ab532b04ff731d71502249e3cb9b6fcb1a', }, '3de671a7107d3803d78f7f4a4e5c794d0903a8d28d16076445c084943c1e2db8': { tokenTicker: 'CLB', tokenName: 'Cashtab Local Beta', tokenDocumentUrl: 'boomertakes.com', tokenDocumentHash: '', decimals: 2, tokenId: '3de671a7107d3803d78f7f4a4e5c794d0903a8d28d16076445c084943c1e2db8', }, '44929ff3b1fc634f982fede112cf12b21199a2ebbcf718412a38de9177d77168': { tokenTicker: 'coin', tokenName: 'johncoin', tokenDocumentUrl: 'https://cashtab.com/', tokenDocumentHash: '', decimals: 0, tokenId: '44929ff3b1fc634f982fede112cf12b21199a2ebbcf718412a38de9177d77168', }, '639a8dba34788ff3ebd3977d4ac045825394285ee648bb1d159e1c12b787ff25': { tokenTicker: 'CFL', tokenName: 'Cashtab Facelift', tokenDocumentUrl: 'https://cashtab.com/', tokenDocumentHash: '', decimals: 9, tokenId: '639a8dba34788ff3ebd3977d4ac045825394285ee648bb1d159e1c12b787ff25', }, 'd376ebcd518067c8e10c0505865cf7336160b47807e6f1a95739ba90ae838840': { tokenTicker: 'CFL', tokenName: 'Cashtab Facelift', tokenDocumentUrl: 'https://cashtab.com/', tokenDocumentHash: '', decimals: 0, tokenId: 'd376ebcd518067c8e10c0505865cf7336160b47807e6f1a95739ba90ae838840', }, 'b40d1f6acdb6ee68d7eca0167fe2753c076bc309b2e3b1af8bff70ca34b945b0': { tokenTicker: 'KAT', tokenName: 'KA_Test', tokenDocumentUrl: 'https://cashtab.com/', tokenDocumentHash: '', decimals: 0, tokenId: 'b40d1f6acdb6ee68d7eca0167fe2753c076bc309b2e3b1af8bff70ca34b945b0', }, 'b39fdb53e21d67fa5fd3a11122f1452f15884047f2b80e8efe633c3b520b7a39': { tokenTicker: 'SCΩΩG', tokenName: 'Scoogi Omega', tokenDocumentUrl: 'https://cashtab.com/', tokenDocumentHash: '', decimals: 0, tokenId: 'b39fdb53e21d67fa5fd3a11122f1452f15884047f2b80e8efe633c3b520b7a39', }, '3adbf501e21c711d20118e003711168eb39f560c01f4c6d6736fa3f3fceaa577': { tokenTicker: 'OMI', tokenName: 'Omicron', tokenDocumentUrl: 'cdc.gov', tokenDocumentHash: '', decimals: 0, tokenId: '3adbf501e21c711d20118e003711168eb39f560c01f4c6d6736fa3f3fceaa577', }, '0916e71779c9de7ee125741d3f5ab01f556356dbc86fd327a24f1e9e22ebc917': { tokenTicker: 'CTL2', tokenName: 'Cashtab Token Launch Launch Token v2', tokenDocumentUrl: 'thecryptoguy.com', tokenDocumentHash: '', decimals: 0, tokenId: '0916e71779c9de7ee125741d3f5ab01f556356dbc86fd327a24f1e9e22ebc917', }, '6e24e89b6d5284138c69777527760500b99614631bca7f2a5c38f4648dae9524': { tokenTicker: 'CBB', tokenName: 'Cashtab Beta Bits', tokenDocumentUrl: 'https://cashtabapp.com/', tokenDocumentHash: '', decimals: 0, tokenId: '6e24e89b6d5284138c69777527760500b99614631bca7f2a5c38f4648dae9524', }, '8ead21ce4b3b9e7b57607b97b65b5013496dc6e3dfdea162c08ce7265a66ebc8': { tokenTicker: 'IFP', tokenName: 'Infrastructure Funding Proposal Token', tokenDocumentUrl: 'ifp.cash', tokenDocumentHash: 'b1674191a88ec5cdd733e4240a81803105dc412d6c6708d53ab94fc248f4f553', decimals: 8, tokenId: '8ead21ce4b3b9e7b57607b97b65b5013496dc6e3dfdea162c08ce7265a66ebc8', }, 'e4e1a2fb071fa71ca727e08ed1d8ea52a9531c79d1e5f1ebf483c66b71a8621c': { tokenTicker: 'CPA', tokenName: 'Cashtab Prod Alpha', tokenDocumentUrl: 'thecryptoguy.com', tokenDocumentHash: '', decimals: 8, tokenId: 'e4e1a2fb071fa71ca727e08ed1d8ea52a9531c79d1e5f1ebf483c66b71a8621c', }, '45f0ff5cae7e89da6b96c26c8c48a959214c5f0e983e78d0925f8956ca8848c6': { tokenTicker: 'CMA', tokenName: 'CashtabMintAlpha', tokenDocumentUrl: 'https://cashtabapp.com/', tokenDocumentHash: '', decimals: 5, tokenId: '45f0ff5cae7e89da6b96c26c8c48a959214c5f0e983e78d0925f8956ca8848c6', }, '56e9b1d16c9989186c846187db57d9a9389c3ecc74e7237c1d1d0327cf904a55': { tokenTicker: 'CKA', tokenName: 'Chronik Alpha', tokenDocumentUrl: 'https://cashtab.com/', tokenDocumentHash: '', decimals: 8, tokenId: '56e9b1d16c9989186c846187db57d9a9389c3ecc74e7237c1d1d0327cf904a55', }, '77ec4036ef8546ac46df6d3a5374e961216f92624627eaeef5d2e1a253df9fc6': { tokenTicker: 'CTLv3', tokenName: 'Cashtab Token Launch Launch Token v3', tokenDocumentUrl: 'coinex.com', tokenDocumentHash: '', decimals: 0, tokenId: '77ec4036ef8546ac46df6d3a5374e961216f92624627eaeef5d2e1a253df9fc6', }, '98183238638ecb4ddc365056e22de0e8a05448c1e6084bae247fae5a74ad4f48': { tokenTicker: 'DVV', tokenName: 'Delta Variant Variants', tokenDocumentUrl: 'https://cashtabapp.com/', tokenDocumentHash: '', decimals: 0, tokenId: '98183238638ecb4ddc365056e22de0e8a05448c1e6084bae247fae5a74ad4f48', }, 'bfddfcfc9fb9a8d61ed74fa94b5e32ccc03305797eea461658303df5805578ef': { tokenTicker: 'Sending Token', tokenName: 'Sending Token', tokenDocumentUrl: 'developer.bitcoin.com', tokenDocumentHash: '', decimals: 9, tokenId: 'bfddfcfc9fb9a8d61ed74fa94b5e32ccc03305797eea461658303df5805578ef', }, '55180a2527901ed4d7ef8f4d61d38d3543b0e7ac3aba04e7f4d3165c3320a6da': { tokenTicker: 'cARRRl', tokenName: 'Dachshund Pirate Token', tokenDocumentUrl: 'https://cashtab.com/', tokenDocumentHash: '', decimals: 0, tokenId: '55180a2527901ed4d7ef8f4d61d38d3543b0e7ac3aba04e7f4d3165c3320a6da', }, '6a9305a13135625f4b533256e8d2e21a7343005331e1839348a39040f61e09d3': { tokenTicker: 'SCOOG', tokenName: 'Scoogi Alpha', tokenDocumentUrl: 'cashtab.com', tokenDocumentHash: '', decimals: 0, tokenId: '6a9305a13135625f4b533256e8d2e21a7343005331e1839348a39040f61e09d3', }, '48090bcd94cf53289ce84e1d4aeb8035f6ea7d80d37baa6343d0f71e7d67a3ef': { tokenTicker: 'WP5', tokenName: 'Webpack 5', tokenDocumentUrl: 'boomertakes.com', tokenDocumentHash: '', decimals: 0, tokenId: '48090bcd94cf53289ce84e1d4aeb8035f6ea7d80d37baa6343d0f71e7d67a3ef', }, '27277911435164c511c7dbc3ef00ba5ce9edf8c1ccab93681cb0ad984b801ef1': { tokenTicker: 'SCOOG', tokenName: 'Scoogi Alpha', tokenDocumentUrl: 'cashtab.com', tokenDocumentHash: '', decimals: 0, tokenId: '27277911435164c511c7dbc3ef00ba5ce9edf8c1ccab93681cb0ad984b801ef1', }, 'a3add503bba986398b39fa2200ce658423a597b4f7fe9de04a2da4501f8b05a3': { tokenTicker: 'SCOOG', tokenName: 'Scoogi Gamma', tokenDocumentUrl: 'cashtab.com', tokenDocumentHash: '', decimals: 0, tokenId: 'a3add503bba986398b39fa2200ce658423a597b4f7fe9de04a2da4501f8b05a3', }, '8b402aab7682e1cef3da83bf754ae722cc95c3118dfe6e2149267f9a9e2ecc63': { tokenTicker: 'AUG5', tokenName: 'August 5', tokenDocumentUrl: 'https://cashtab.com/', tokenDocumentHash: '', decimals: 0, tokenId: '8b402aab7682e1cef3da83bf754ae722cc95c3118dfe6e2149267f9a9e2ecc63', }, '2502bdc75d3afdce0742505d53e6d50cefb1268d7c2a835c06b701702b79e1b8': { tokenTicker: 'SCOOG', tokenName: 'Scoogi Epsilon', tokenDocumentUrl: 'cashtab.com', tokenDocumentHash: '', decimals: 0, tokenId: '2502bdc75d3afdce0742505d53e6d50cefb1268d7c2a835c06b701702b79e1b8', }, 'f29939b961d8f3b27d7826e3f22451fcf9273ac84421312a20148b1e083a5bb0': { tokenTicker: 'SCOOG', tokenName: 'Scoogi Beta', tokenDocumentUrl: 'cashtab.com', tokenDocumentHash: '', decimals: 0, tokenId: 'f29939b961d8f3b27d7826e3f22451fcf9273ac84421312a20148b1e083a5bb0', }, 'edb693529851379bcbd75008f78940df8232510e6a1c64d8dc81693ae2a53f66': { tokenTicker: 'SCOOG', tokenName: 'Scoogi Eta', tokenDocumentUrl: 'cashtab.com', tokenDocumentHash: '', decimals: 0, tokenId: 'edb693529851379bcbd75008f78940df8232510e6a1c64d8dc81693ae2a53f66', }, 'c70d5f036368e184d2a52389b2f4c2471855aebaccbd418db24d4515ce062dbe': { tokenTicker: 'SCOOG', tokenName: 'Scoogi Zeta', tokenDocumentUrl: 'cashtab.com', tokenDocumentHash: '', decimals: 0, tokenId: 'c70d5f036368e184d2a52389b2f4c2471855aebaccbd418db24d4515ce062dbe', }, 'b9877d8f8d2364b983707df905d592f534a3ada18e52aa529a0f72fcc535abf7': { tokenTicker: 'SRM', tokenName: 'Server Redundancy Mint', tokenDocumentUrl: 'https://cashtab.com/', tokenDocumentHash: '', decimals: 0, tokenId: 'b9877d8f8d2364b983707df905d592f534a3ada18e52aa529a0f72fcc535abf7', }, '54dc2ecd5251f8dfda4c4f15ce05272116b01326076240e2b9cc0104d33b1484': { tokenTicker: 'Alita', tokenName: 'Alita', tokenDocumentUrl: 'alita.cash', tokenDocumentHash: '', decimals: 4, tokenId: '54dc2ecd5251f8dfda4c4f15ce05272116b01326076240e2b9cc0104d33b1484', }, 'cf601c56b58bc05a39a95374a4a865f0a8b56544ea937b30fb46315441717c50': { tokenTicker: 'UDT', tokenName: 'UpdateTest', tokenDocumentUrl: 'https://cashtab.com/', tokenDocumentHash: '', decimals: 7, tokenId: 'cf601c56b58bc05a39a95374a4a865f0a8b56544ea937b30fb46315441717c50', }, }; export const mockAirdropTx = { txid: '6e3baf279770c3ed84981c414f433e654cdc1b12df3024051f0f7c215a13dca9', version: 2, inputs: [ { prevOut: { txid: '806abb677534eaa3b61ca050b65d4159d64e442699dd5460be87786f973bc079', outIdx: 0, }, inputScript: '47304402207acf2b13eb099b42edf2d985afc4da3123a76e3120a66cd2e915fdd93b9ce243022055529f4f4db28c2d3b3ce98fd55dd539c92f0790d36cf8a63a4fbb89eb602b2a412102f2d4a75908a466eec993f27fb985836490d9af52f110b15b60fe6cb17dbedf6d', outputScript: '76a91463a17ac732fd6afe8699b240a29b483246308de788ac', value: '1595', sequenceNo: 4294967295, }, { prevOut: { txid: 'c257bdccd3804de5ce1359d986488902d73e11156e544ca9eaf15d9d3878a83c', outIdx: 111, }, inputScript: '47304402205f670a5afb2b6cb10ae86818f50c0dd9a9bc639e979a3325ab8834c5631ac81b022078ce9092a5ded4afe261f1b311e5619f1f8673ace9de5dae3441f33834ecb33a412102f2d4a75908a466eec993f27fb985836490d9af52f110b15b60fe6cb17dbedf6d', outputScript: '76a91463a17ac732fd6afe8699b240a29b483246308de788ac', value: '22600', sequenceNo: 4294967295, }, { prevOut: { txid: '8db1137ec2cdaa0c5a93c575352eaf024ce304f189c91094cc6b711be876dff4', outIdx: 3, }, inputScript: '483045022100cca98ffbd5034f1f07c459a2f7b694d0bfc8cd9c0f33fe0b45d5914a10b034610220592d50dd5f1fea5c1d689909e61d1d1bfad21ea6a42a01ba7d4e9428baedca06412102f2d4a75908a466eec993f27fb985836490d9af52f110b15b60fe6cb17dbedf6d', outputScript: '76a91463a17ac732fd6afe8699b240a29b483246308de788ac', value: '170214', sequenceNo: 4294967295, slpBurn: { token: { amount: '0', isMintBaton: false, }, tokenId: 'bdb3b4215ca0622e0c4c07655522c376eaa891838a82f0217fa453bb0595a37c', }, }, { prevOut: { txid: '5c7e9879f94258e7128f684c0be7786d9d2355c1f3b3ded5382e3a2745d9ec53', outIdx: 111, }, inputScript: '483045022100fefd74866d212ff97b54fb4d6e588754b13d073b06200f255d891195fc57cb0502201948da90078778ab195c8adec213cc09972a1c89f8a35d10294894bcbf313941412102f2d4a75908a466eec993f27fb985836490d9af52f110b15b60fe6cb17dbedf6d', outputScript: '76a91463a17ac732fd6afe8699b240a29b483246308de788ac', value: '22583', sequenceNo: 4294967295, }, { prevOut: { txid: '6b86db3a0adb9963c3fbf911ad3935b611ea6224834f1664e0bdfc026fd57fc9', outIdx: 3, }, inputScript: '483045022100e4dde7a7d227f0631d042a1953e55400b00386050eff672832e557a4438f0f0b022060fd64cb142723578a4fd25c703d7afa0db045d981c75f770cb66b3b87ccc72a412102f2d4a75908a466eec993f27fb985836490d9af52f110b15b60fe6cb17dbedf6d', outputScript: '76a91463a17ac732fd6afe8699b240a29b483246308de788ac', value: '16250', sequenceNo: 4294967295, slpBurn: { token: { amount: '0', isMintBaton: false, }, tokenId: 'fb4233e8a568993976ed38a81c2671587c5ad09552dedefa78760deed6ff87aa', }, }, { prevOut: { txid: '81f52f89efc61072dcab4735f1a99b6648c8cc10314452185e728b383b170e30', outIdx: 23, }, inputScript: '483045022100f057b22cbc643d6aa839d64c96eede889782e4738104dde84c5980089c75c9e702200449b7ad1e88141def532e3cd2943dfa29a9ede8a6d0b3283531dee085b867b1412102f2d4a75908a466eec993f27fb985836490d9af52f110b15b60fe6cb17dbedf6d', outputScript: '76a91463a17ac732fd6afe8699b240a29b483246308de788ac', value: '23567578', sequenceNo: 4294967295, }, ], outputs: [ { value: '0', outputScript: '6a0464726f7020bdb3b4215ca0622e0c4c07655522c376eaa891838a82f0217fa453bb0595a37c04007461624565766320746f6b656e207365727669636520686f6c64657273206169722064726f70f09fa587f09f8c90f09fa587e29da4f09f918cf09f9bacf09f9bacf09f8d97f09fa4b4', }, { value: '550', outputScript: '76a9140352e2c246fa38fe57f6504dcff628a2ab85c9a888ac', }, { value: '550', outputScript: '76a9147d2acc561f417bf3265d465fbd76b7976cd35add88ac', }, { value: '550', outputScript: '76a91478a291a19347161a532f31cae95d492cc57965e888ac', }, { value: '584', outputScript: '76a91478cc64d09c2c558e2c7f1baf463f4e2a6246559888ac', }, { value: '10027', outputScript: '76a91471536340a5ad319f24ae433d7caa4475dd69faec88ac', }, { value: '10427', outputScript: '76a914649be1781f962c54f47273d58e31439fb452b92988ac', }, { value: '560', outputScript: '76a914be3ce499e31ebe80c7aabf673acd854c8969ddc488ac', }, { value: '551', outputScript: '76a914e88f39383c4d264410f30d2b28cdae775c67ea8e88ac', }, { value: '557', outputScript: '76a9145fbce9959ce7b712393138aef20b013d5a2802e688ac', }, { value: '550', outputScript: '76a91450f35e3861d60945efcd2b05f562eff14d28db1088ac', }, { value: '10027', outputScript: '76a914866ed8973e444d1f6533eb1858ca284ad589bc1988ac', }, { value: '555', outputScript: '76a9140848ee10a336bba27c7ee90dc4a1c2407178a5b788ac', }, { value: '550', outputScript: '76a9149750cdddb976b8466668a73b58c0a1afbd6f4db888ac', }, { value: '560', outputScript: '76a9148ee151bf0f1637cdd2e1b41ed2cd32b0df0a932588ac', }, { value: '590', outputScript: '76a914be792ef52fb6bc5adcabeb8eb604fbbb3dc4693488ac', }, { value: '551', outputScript: '76a9142ad96e467f9354f86e0c11acfde351194a183dc888ac', }, { value: '550', outputScript: '76a914afd2470f264252f1359d7b8093fff4fdd120c5f988ac', }, { value: '584', outputScript: '76a9148a8e920239fb5cc647855c1d634b0bbe4c4b670188ac', }, { value: '569', outputScript: '76a91412f84f54fad4695321f61c313d2e32a0a8f8086488ac', }, { value: '584', outputScript: '76a914842b152a0bbd4647afaeceec8a6afaa90668e7c788ac', }, { value: '584', outputScript: '76a914fe971eb2960defce93503c5641d54eaad2ab6a0588ac', }, { value: '584', outputScript: '76a914685e825961b67456f440caaaaab0f94cb3354b7288ac', }, { value: '584', outputScript: '76a91476b4447a3617e918d03261353e179a583f85d2c688ac', }, { value: '584', outputScript: 'a91418bb4f7d8881c1d1457c33a6af8e5937f7f776a887', }, { value: '584', outputScript: '76a914b366ef7c1ffd4ef452d72556634720cc8741e1dc88ac', }, { value: '553', outputScript: '76a914f5e82dc01170d99a16bf9610da873df47f82aa7a88ac', }, { value: '569', outputScript: '76a91495e79f51d4260bc0dc3ba7fb77c7be92d0fbdd1d88ac', }, { value: '553', outputScript: '76a9142ed681dc5421dd4a052f49bda55a9c345fb025e088ac', }, { value: '584', outputScript: '76a914b87d445b2dbba65c5a5bb79959b44c24593518f888ac', }, { value: '553', outputScript: 'a9147d91dc783fb1c5b7f24befd92eedc8dabfa8ab7e87', }, { value: '584', outputScript: 'a914f722fc8e23c5c23663aa3273f445b784b223aab587', }, { value: '584', outputScript: '76a914940840311cbe6013e59aff729ffc1d902fd74d1988ac', }, { value: '584', outputScript: '76a914d394d084607bce97fa4e661b6f2c7d2f237c89ee88ac', }, { value: '558', outputScript: '76a91470e1b34c51cd5319c5ca54da978a6422605e6b3e88ac', }, { value: '556', outputScript: '76a91440eeb036d9d6bc71cd65b91eb5bbfa5d808805ca88ac', }, { value: '584', outputScript: '76a9144d55f769ce14fd44e2b63500d95016838a5d130d88ac', }, { value: '584', outputScript: '76a914a17ee8562ede98dfe9cd00f7f84d74c4c9c58ee788ac', }, { value: '584', outputScript: '76a914a13fc3642d1e7293eb4b9f17ec1b6f6d7ea4aaeb88ac', }, { value: '576', outputScript: '76a91462e907b15cbf27d5425399ebf6f0fb50ebb88f1888ac', }, { value: '10427', outputScript: '76a91486a911e65753b379774448230e7e8f7aeab8fa5e88ac', }, { value: '552', outputScript: '76a914e9364c577078f16ee2b27f2c570a4e450dd52e7a88ac', }, { value: '1428', outputScript: '76a914ed917afa96833c1fea678e23374c557ed83ff6ff88ac', }, { value: '1427', outputScript: '76a91482cf48aefcd80072ef21e4a61dee8c2d70d0bcb388ac', }, { value: '9135', outputScript: '76a91444e8388bdd64c1f67905279066f044638d0e166988ac', }, { value: '1427', outputScript: '76a914d62e68453b75938616b75309c3381d14d61cb9a488ac', }, { value: '1427', outputScript: '76a91425b1d2b4610b6deed8e3d2ac76f4f112883126e488ac', }, { value: '921', outputScript: '76a91456423795dc2fa85fa3931cdf9e58f4f8661c2b2488ac', }, { value: '1843', outputScript: '76a914e03d94e59bb300b965ac234a274b1cf41c3cadd788ac', }, { value: '1584', outputScript: '76a9141e0d6a8ef2c8a0f6ceace8656059ea9dbeb11bda88ac', }, { value: '1843', outputScript: '76a914f6cd6ef1bd7add314fd9b115c3ad0dce7844930c88ac', }, { value: '560', outputScript: '76a91488fb294f87b0f05bf6eddc1d6bfde2ba3a87bcdd88ac', }, { value: '560', outputScript: '76a914a154f00227476ec9741a416e96b69677fddf4b1d88ac', }, { value: '1427', outputScript: '76a914362a3773f5685c89e4b800e4c4f9925db2ec1b5c88ac', }, { value: '584', outputScript: '76a9146770958588049a3f39828e1ddc57f3dd77227a1188ac', }, { value: '1708', outputScript: '76a914b0313745d5f7c850c9682c2711b6a14f2db9276b88ac', }, { value: '679', outputScript: '76a914fe729aa40779f822a8c4988f49a115c8aabc0cc788ac', }, { value: '1511', outputScript: '76a914ecef001f3c137c880f828d843f754a082eb5396b88ac', }, { value: '560', outputScript: '76a91463e79addfc3ad33d04ce064ade02d3c8caca8afd88ac', }, { value: '552', outputScript: '76a91489a6da1ed86c8967f03691ad9af8d93c6259137388ac', }, { value: '919', outputScript: '76a9149fa178360cab170f9423223a5b166171f54d5bc188ac', }, { value: '15000', outputScript: '76a914bc37eb24817a8442b23ae9a06cc405c8fdf1e7c488ac', }, { value: '560', outputScript: '76a914e78d304632489ba240b29986fe6afd32c77aa16388ac', }, { value: '570', outputScript: '76a914993e6beef74f4ed0c3fe51af895e476ce37c362b88ac', }, { value: '921329', outputScript: '76a914b8820ca6b9ceb0f546e142ddd857a4974483719a88ac', }, { value: '5100', outputScript: '76a914ca989ff4d3df17fe4dc6eb330b469bd6d5d4814e88ac', }, { value: '5200', outputScript: '76a914ad29cdce2237f71e95fee551f04425f70b7e4c9d88ac', }, { value: '584', outputScript: '76a9140f57872e06e15593c8a288fcb761b13ca571d78888ac', }, { value: '10266', outputScript: '76a9142a96944d06700882bbd984761d9c9e4215f2d78e88ac', }, { value: '580', outputScript: '76a9141e37634e6693e228801c194c45701d49a1d12e2c88ac', }, { value: '22743016', outputScript: '76a91463a17ac732fd6afe8699b240a29b483246308de788ac', spentBy: { txid: '7242d84b3db853262c53f4b068c57e5a52b67a8b6fea313e0a6f7f58df16e413', outIdx: 0, }, }, ], lockTime: 0, block: { height: 759800, hash: '00000000000000000f1afd00cb83bd94abb0bec8712e9ed90a2cac1e7a27e84a', timestamp: '1664667368', }, timeFirstSeen: '1664667131', size: 3393, isCoinbase: false, network: 'XEC', }; export const mockWalletWithPrivateKeys = { mnemonic: 'because achieve voyage useful ticket stem armed air pretty stand leaf bicycle', name: 'Test Encrypt Burnt Wif', Path245: { publicKey: '0375182c1737822265efaed62e91f84d34739cdc783ff8072165242fac4c8e32ab', hash160: '278ac23f8ef6c40b98c23972cc60effdfe477326', cashAddress: 'bitcoincash:qqnc4s3l3mmvgzuccguh9nrqal7lu3mnycmmlefsfr', slpAddress: 'simpleledger:qqnc4s3l3mmvgzuccguh9nrqal7lu3mnychq5zusha', fundingWif: 'L3HmNCzg2fVd8q8JP8fU4mkKhFXo74Gskfp9UatMh7WJ9FTwQQix', fundingAddress: 'simpleledger:qqnc4s3l3mmvgzuccguh9nrqal7lu3mnychq5zusha', legacyAddress: '14c5acR4uXmwH1dvWWmqnabD4H2mWhAuYW', }, Path145: { publicKey: '03cfb60b9f457ce676ec01b4e92f05a08214989116650830e45b60e2c8cc144a77', hash160: 'dbff532189502b22ecf88e10bc78d42c3785240b', cashAddress: 'bitcoincash:qrdl75ep39gzkghvlz8pp0rc6skr0pfypv7htttdhx', slpAddress: 'simpleledger:qrdl75ep39gzkghvlz8pp0rc6skr0pfypvjvqs7dfc', fundingWif: 'L4TaWveyX8xEY7jLnS86JotV3tQkb1GqCaGxymES1i6Mkj5M77Cm', fundingAddress: 'simpleledger:qrdl75ep39gzkghvlz8pp0rc6skr0pfypvjvqs7dfc', legacyAddress: '1M4ErHUrjrv5zBv3YfGSkAkHdKYUnx4V2D', }, Path1899: { publicKey: '038c4c26730d97cdeb18e69dff6c47cebb23e6f305c950923cd6110f35ab9006d0', hash160: 'ee6dc9d40f95d8e106a63385c6fa882991b9e84e', cashAddress: 'bitcoincash:qrhxmjw5p72a3cgx5cect3h63q5erw0gfc4l80hyqu', slpAddress: 'simpleledger:qrhxmjw5p72a3cgx5cect3h63q5erw0gfceyv5zy7z', fundingWif: 'Kwt39o7LZJ54nKyYU2Sz6dAZToXtFvYHtn6xKf2Nbi5E9kZfpHSH', fundingAddress: 'simpleledger:qrhxmjw5p72a3cgx5cect3h63q5erw0gfceyv5zy7z', legacyAddress: '1NjhLtSNF32Nay82jV1b7yv6s7mxaeFeYP', }, state: { balances: { totalBalanceInSatoshis: '49545', totalBalance: '495.45', }, tokens: [], slpBalancesAndUtxos: { slpUtxos: [], nonSlpUtxos: [ { outpoint: { txid: '45411aa786288b679d1c1874f7b126d5ea0c83380304950d364b5b8279a460de', outIdx: 1, }, blockHeight: -1, isCoinbase: false, value: '48445', network: 'XEC', address: 'bitcoincash:qrhxmjw5p72a3cgx5cect3h63q5erw0gfc4l80hyqu', }, { outpoint: { txid: '66974f4a22ca1a4aa36c932b4effafcb9dd8a32b8766dfc7644ba5922252c4c6', outIdx: 1, }, blockHeight: -1, isCoinbase: false, value: '1100', network: 'XEC', address: 'bitcoincash:qrhxmjw5p72a3cgx5cect3h63q5erw0gfc4l80hyqu', }, ], tokens: [], }, parsedTxHistory: [ { txid: '66974f4a22ca1a4aa36c932b4effafcb9dd8a32b8766dfc7644ba5922252c4c6', version: 2, inputs: [ { prevOut: { txid: 'fec829a1ff34a9f84058cdd8bf795c114a8fcb3bcc6c3ca9ea8b9ae68420dd9a', outIdx: 1, }, inputScript: '483045022100e9fce8984a9f0cb76642c6df63a83150aa31d1071b62debe89ecadd4d45e727e02205a87fcaad0dd188860db8053caf7d6a21ed7807dbcd1560c251f9a91a4f36815412103318d0e1109f32debc66952d0e3ec21b1cf96575ea4c2a97a6535628f7f8b10e6', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', value: '36207', sequenceNo: 4294967295, }, ], outputs: [ { value: '0', outputScript: '6a04657461624c9104eaa5cbe6e13db7d91f35dca5d270c944a9a3e8c7738c56d12069312f589c7f193e67ea3d2f6d1f300f404c33c19e48dc3ac35145c8152624b7a8e22278e9133862425da2cc44f7297c8618ffa78dd09054a4a5490afd2b62139f19fa7b8516cbae692488fa50e79101d55e7582b3a662c3a5cc737044ef392f8c1fde63b8385886aed37d1b68e887284262f298fe74c0', }, { value: '1100', outputScript: '76a914ee6dc9d40f95d8e106a63385c6fa882991b9e84e88ac', }, { value: '34652', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', }, ], lockTime: 0, timeFirstSeen: '1664909877', size: 388, isCoinbase: false, network: 'XEC', parsed: { incoming: true, xecAmount: '11', originatingHash160: '4e532257c01b310b3b5c1fd947c79a72addf8523', isEtokenTx: false, legacy: { amountSent: 0, amountReceived: '11', outgoingTx: false, tokenTx: false, airdropFlag: false, airdropTokenId: '', opReturnMessage: 'Test encrypted message', isCashtabMessage: true, isEncryptedMessage: true, decryptionSuccess: true, replyAddress: 'ecash:qp89xgjhcqdnzzemts0aj378nfe2mhu9yvxj9nhgg6', }, }, }, { txid: '45411aa786288b679d1c1874f7b126d5ea0c83380304950d364b5b8279a460de', version: 2, inputs: [ { prevOut: { txid: '60c6ad832e8f44ea59bb15166959b45828d8aec5554a2f70491dddf82dcda837', outIdx: 0, }, inputScript: '47304402200a850b9bf5648bcca5811739fd22586b96460c1939d271b85d2906e31dff30ca0220536d5ab96f0fb4f488d9a4613849d2b212dcb7b755c296e92d11729ee2f939994121038c4c26730d97cdeb18e69dff6c47cebb23e6f305c950923cd6110f35ab9006d0', outputScript: '76a914ee6dc9d40f95d8e106a63385c6fa882991b9e84e88ac', value: '50000', sequenceNo: 4294967295, }, ], outputs: [ { value: '1100', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', }, { value: '48445', outputScript: '76a914ee6dc9d40f95d8e106a63385c6fa882991b9e84e88ac', }, ], lockTime: 0, timeFirstSeen: '1664909836', size: 225, isCoinbase: false, network: 'XEC', parsed: { incoming: false, xecAmount: '11', originatingHash160: 'ee6dc9d40f95d8e106a63385c6fa882991b9e84e', isEtokenTx: false, legacy: { amountSent: '11', amountReceived: 0, outgoingTx: true, tokenTx: false, airdropFlag: false, airdropTokenId: '', opReturnMessage: '', isCashtabMessage: false, isEncryptedMessage: false, decryptionSuccess: false, replyAddress: 'ecash:qrhxmjw5p72a3cgx5cect3h63q5erw0gfcvjnyv7xt', }, }, }, { txid: '60c6ad832e8f44ea59bb15166959b45828d8aec5554a2f70491dddf82dcda837', version: 2, inputs: [ { prevOut: { txid: 'eb79e90e3b5a0b6766cbfab3efd9c52f831bef62f9f27c2aa925ee81e43b843f', outIdx: 1, }, inputScript: '483045022100bc373f3fb8dc16b58c9138e8c884ace57e380d7787cf566f5889456a3fd1fd4202200346e070bfbf1d58aeb117890b3d9d5ff4927ee001b98f80f3b35babb486790d412103318d0e1109f32debc66952d0e3ec21b1cf96575ea4c2a97a6535628f7f8b10e6', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', value: '1822907', sequenceNo: 4294967295, }, ], outputs: [ { value: '50000', outputScript: '76a914ee6dc9d40f95d8e106a63385c6fa882991b9e84e88ac', spentBy: { txid: '45411aa786288b679d1c1874f7b126d5ea0c83380304950d364b5b8279a460de', outIdx: 0, }, }, { value: '1772452', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', }, ], lockTime: 0, timeFirstSeen: '1664909791', size: 226, isCoinbase: false, network: 'XEC', parsed: { incoming: true, xecAmount: '500', originatingHash160: '4e532257c01b310b3b5c1fd947c79a72addf8523', isEtokenTx: false, legacy: { amountSent: 0, amountReceived: '500', outgoingTx: false, tokenTx: false, airdropFlag: false, airdropTokenId: '', opReturnMessage: '', isCashtabMessage: false, isEncryptedMessage: false, decryptionSuccess: false, replyAddress: 'ecash:qp89xgjhcqdnzzemts0aj378nfe2mhu9yvxj9nhgg6', }, }, }, ], utxos: [ { outpoint: { txid: '45411aa786288b679d1c1874f7b126d5ea0c83380304950d364b5b8279a460de', outIdx: 1, }, blockHeight: -1, isCoinbase: false, value: '48445', network: 'XEC', address: 'bitcoincash:qrhxmjw5p72a3cgx5cect3h63q5erw0gfc4l80hyqu', }, { outpoint: { txid: '66974f4a22ca1a4aa36c932b4effafcb9dd8a32b8766dfc7644ba5922252c4c6', outIdx: 1, }, blockHeight: -1, isCoinbase: false, value: '1100', network: 'XEC', address: 'bitcoincash:qrhxmjw5p72a3cgx5cect3h63q5erw0gfc4l80hyqu', }, ], }, }; export const mockSentEncryptedTx = { txid: '7ac10096c8a7b32fe338dc938bcf2e1341b99f841687e690d88241107ce4b84b', version: 2, inputs: [ { prevOut: { txid: '45411aa786288b679d1c1874f7b126d5ea0c83380304950d364b5b8279a460de', outIdx: 1, }, inputScript: '483045022100d4a93c615a7af48f422c273a530ac7f2b78d31a2d4515f11b2f416fce4f4f380022075c22c73190a7de805f219ca8d294777440b558551fea6b59c6c84ec529b16f94121038c4c26730d97cdeb18e69dff6c47cebb23e6f305c950923cd6110f35ab9006d0', outputScript: '76a914ee6dc9d40f95d8e106a63385c6fa882991b9e84e88ac', value: '48445', sequenceNo: 4294967295, }, ], outputs: [ { value: '0', outputScript: '6a04657461624ca1040f3cc3bc507126c239cde840befd974bdac054f9b9f2bfd4ff32b5f59ca554c4f3fb2d11d30eae3e5d3f61625ff7812ba14f8c901c30ee7e03dea57681a8f7ab8c64d42ce505921b4d67507452537cbe7525281714857c75d7a441b65030b7ea646b59ed0c34adc9f739661620cf7678963db3cac78afd7f49ad0d63aad404b07730255ded82ea3a939c63ee040ae9fac9336bb8d84d7b3380665ffa514a45f4', }, { value: '1200', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', }, { value: '46790', outputScript: '76a914ee6dc9d40f95d8e106a63385c6fa882991b9e84e88ac', }, ], lockTime: 0, timeFirstSeen: '1664910083', size: 404, isCoinbase: false, network: 'XEC', }; export const mockReceivedEncryptedTx = { txid: '66974f4a22ca1a4aa36c932b4effafcb9dd8a32b8766dfc7644ba5922252c4c6', version: 2, inputs: [ { prevOut: { txid: 'fec829a1ff34a9f84058cdd8bf795c114a8fcb3bcc6c3ca9ea8b9ae68420dd9a', outIdx: 1, }, inputScript: '483045022100e9fce8984a9f0cb76642c6df63a83150aa31d1071b62debe89ecadd4d45e727e02205a87fcaad0dd188860db8053caf7d6a21ed7807dbcd1560c251f9a91a4f36815412103318d0e1109f32debc66952d0e3ec21b1cf96575ea4c2a97a6535628f7f8b10e6', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', value: '36207', sequenceNo: 4294967295, }, ], outputs: [ { value: '0', outputScript: '6a04657461624c9104eaa5cbe6e13db7d91f35dca5d270c944a9a3e8c7738c56d12069312f589c7f193e67ea3d2f6d1f300f404c33c19e48dc3ac35145c8152624b7a8e22278e9133862425da2cc44f7297c8618ffa78dd09054a4a5490afd2b62139f19fa7b8516cbae692488fa50e79101d55e7582b3a662c3a5cc737044ef392f8c1fde63b8385886aed37d1b68e887284262f298fe74c0', }, { value: '1100', outputScript: '76a914ee6dc9d40f95d8e106a63385c6fa882991b9e84e88ac', }, { value: '34652', outputScript: '76a9144e532257c01b310b3b5c1fd947c79a72addf852388ac', }, ], lockTime: 0, timeFirstSeen: '1664909877', size: 388, isCoinbase: false, network: 'XEC', }; +export const mockTokenBurnTx = { + txid: '312553668f596bfd61287aec1b7f0f035afb5ddadf40b6f9d1ffcec5b7d4b684', + version: 2, + inputs: [ + { + prevOut: { + txid: '842dd09e723d664d7647bc49f911c88b60f0450e646fedb461f319dadb867934', + outIdx: 0, + }, + inputScript: + '473044022025c68cf0ab9c1a4d6b35b2b58f7e397722f469412841eb09d38d1973dc5ef7120220712e1f3c8740fff2af75c1062a773eef167550ee008deaef9089537cd17c35f0412103771805b54969a9bea4e3eb14a82851c67592156ddb5e52d3d53677d14a40fba6', + outputScript: '76a91495e79f51d4260bc0dc3ba7fb77c7be92d0fbdd1d88ac', + value: '2300', + sequenceNo: 4294967295, + }, + { + prevOut: { + txid: '1efe359a0bfa83c409433c487b025fb446a3a9bfa51a718c8dd9a56401656e33', + outIdx: 2, + }, + inputScript: + '47304402206a2f53497eb734ea94ca158951aa005f6569c184675a497d33d061b78c66c25b02201f826fa71be5943ce63740d92a278123974e44846c3766c5cb58ef5ad307ba36412103771805b54969a9bea4e3eb14a82851c67592156ddb5e52d3d53677d14a40fba6', + outputScript: '76a91495e79f51d4260bc0dc3ba7fb77c7be92d0fbdd1d88ac', + value: '546', + sequenceNo: 4294967295, + slpToken: { + amount: '2', + isMintBaton: false, + }, + }, + { + prevOut: { + txid: '49f825370128056333af945eb4f4d9712171c9e88954deb189ca6f479564f2ee', + outIdx: 2, + }, + inputScript: + '483045022100efa3c767b749abb2dc958932348e2b19b845964e581c9f6de706cd43dac3f087022059afad6ff3c1e49cc0320499381e78eab922f18b00e0409228ad417e0220bf5d412103771805b54969a9bea4e3eb14a82851c67592156ddb5e52d3d53677d14a40fba6', + outputScript: '76a91495e79f51d4260bc0dc3ba7fb77c7be92d0fbdd1d88ac', + value: '546', + sequenceNo: 4294967295, + slpBurn: { + token: { + amount: '12', + isMintBaton: false, + }, + tokenId: + '4db25a4b2f0b57415ce25fab6d9cb3ac2bbb444ff493dc16d0615a11ad06c875', + }, + slpToken: { + amount: '999875', + isMintBaton: false, + }, + }, + ], + outputs: [ + { + value: '0', + outputScript: + '6a04534c500001010453454e44204db25a4b2f0b57415ce25fab6d9cb3ac2bbb444ff493dc16d0615a11ad06c8750800000000000f41b9', + }, + { + value: '546', + outputScript: '76a91495e79f51d4260bc0dc3ba7fb77c7be92d0fbdd1d88ac', + slpToken: { + amount: '999865', + isMintBaton: false, + }, + }, + ], + lockTime: 0, + slpTxData: { + slpMeta: { + tokenType: 'FUNGIBLE', + txType: 'SEND', + tokenId: + '4db25a4b2f0b57415ce25fab6d9cb3ac2bbb444ff493dc16d0615a11ad06c875', + }, + }, + timeFirstSeen: '1664919857', + size: 550, + isCoinbase: false, + network: 'XEC', +}; + +export const mockTokenBurnWithDecimalsTx = { + txid: 'dacd4bacb46caa3af4a57ac0449b2cb82c8a32c64645cd6a64041287d1ced556', + version: 2, + inputs: [ + { + prevOut: { + txid: 'eb79e90e3b5a0b6766cbfab3efd9c52f831bef62f9f27c2aa925ee81e43b843f', + outIdx: 0, + }, + inputScript: + '47304402207122751937862fad68c3e293982cf7afb91967d20da63a0c23bf0565b625b775022054f39f41a43438a0df7fbe6a78521f572613bc08d6a43b6d248bcb6a434e2b52412103771805b54969a9bea4e3eb14a82851c67592156ddb5e52d3d53677d14a40fba6', + outputScript: '76a91495e79f51d4260bc0dc3ba7fb77c7be92d0fbdd1d88ac', + value: '2200', + sequenceNo: 4294967295, + }, + { + prevOut: { + txid: '905cc5662cad77df56c3770863634ce498dde9d4772dc494d33b7ce3f36fa66c', + outIdx: 2, + }, + inputScript: + '483045022100dce5b3b516bfebd40bd8d4b4ff9c43c685d3c9dde1def0cc0667389ac522cf2502202651f95638e48c210a04082e6053457a539aef0f65a2e9c2f61e3faf96c1dfd8412103771805b54969a9bea4e3eb14a82851c67592156ddb5e52d3d53677d14a40fba6', + outputScript: '76a91495e79f51d4260bc0dc3ba7fb77c7be92d0fbdd1d88ac', + value: '546', + sequenceNo: 4294967295, + slpBurn: { + token: { + amount: '1234567', + isMintBaton: false, + }, + tokenId: + '7443f7c831cdf2b2b04d5f0465ed0bcf348582675b0e4f17906438c232c22f3d', + }, + slpToken: { + amount: '5235120760000000', + isMintBaton: false, + }, + }, + ], + outputs: [ + { + value: '0', + outputScript: + '6a04534c500001010453454e44207443f7c831cdf2b2b04d5f0465ed0bcf348582675b0e4f17906438c232c22f3d0800129950892eb779', + }, + { + value: '546', + outputScript: '76a91495e79f51d4260bc0dc3ba7fb77c7be92d0fbdd1d88ac', + slpToken: { + amount: '5235120758765433', + isMintBaton: false, + }, + }, + ], + lockTime: 0, + slpTxData: { + slpMeta: { + tokenType: 'FUNGIBLE', + txType: 'SEND', + tokenId: + '7443f7c831cdf2b2b04d5f0465ed0bcf348582675b0e4f17906438c232c22f3d', + }, + }, + timeFirstSeen: '1664923127', + size: 403, + isCoinbase: false, + network: 'XEC', +}; diff --git a/web/cashtab/src/utils/__tests__/chronik.test.js b/web/cashtab/src/utils/__tests__/chronik.test.js index 67cd61561..359d94812 100644 --- a/web/cashtab/src/utils/__tests__/chronik.test.js +++ b/web/cashtab/src/utils/__tests__/chronik.test.js @@ -1,625 +1,745 @@ import BigNumber from 'bignumber.js'; import { currency } from '../../components/Common/Ticker'; import { organizeUtxosByType, getPreliminaryTokensArray, finalizeTokensArray, finalizeSlpUtxos, getTokenStats, flattenChronikTxHistory, sortAndTrimChronikTxHistory, parseChronikTx, } from 'utils/chronik'; import { mockChronikUtxos, mockOrganizedUtxosByType, mockPreliminaryTokensArray, mockPreliminaryTokensArrayClone, mockPreliminaryTokensArrayCloneClone, mockChronikTxDetailsResponses, mockFinalTokenArray, mockFinalCachedTokenInfo, mockPartialCachedTokenInfo, mockPartialChronikTxDetailsResponses, mockPreliminarySlpUtxos, mockFinalizedSlpUtxos, mockTokenInfoById, } from '../__mocks__/chronikUtxos'; import { mockChronikTokenResponse, mockGetTokenStatsReturn, } from '../__mocks__/mockChronikTokenStats'; import { mockTxHistoryOfAllAddresses, mockFlatTxHistoryNoUnconfirmed, mockSortedTxHistoryNoUnconfirmed, mockFlatTxHistoryWithUnconfirmed, mockSortedFlatTxHistoryWithUnconfirmed, mockFlatTxHistoryWithAllUnconfirmed, mockSortedFlatTxHistoryWithAllUnconfirmed, mockParseTxWallet, lambdaIncomingXecTx, lambdaOutgoingXecTx, lambdaIncomingEtokenTx, lambdaOutgoingEtokenTx, eTokenGenesisTx, receivedEtokenTxNineDecimals, anotherMockParseTxWallet, txHistoryTokenInfoById, mockAirdropTx, mockWalletWithPrivateKeys, mockSentEncryptedTx, mockReceivedEncryptedTx, + mockTokenBurnTx, + mockTokenBurnWithDecimalsTx, } from '../__mocks__/chronikTxHistory'; import { ChronikClient } from 'chronik-client'; import { when } from 'jest-when'; import BCHJS from '@psf/bch-js'; it(`getTokenStats successfully returns a token stats object`, async () => { // Initialize chronik const chronik = new ChronikClient( 'https://FakeChronikUrlToEnsureMocksOnly.com', ); const tokenId = 'bb8e9f685a06a2071d82f757ce19201b4c8e5e96fbe186960a3d65aec83eab20'; /* Mock the API response from chronik.token('tokenId') called in getTokenStats() */ chronik.token = jest.fn(); when(chronik.token) .calledWith(tokenId) .mockResolvedValue(mockChronikTokenResponse); expect(await getTokenStats(chronik, tokenId)).toStrictEqual( mockGetTokenStatsReturn, ); }); it(`organizeUtxosByType successfully splits a chronikUtxos array into slpUtxos and nonSlpUtxos`, () => { expect(organizeUtxosByType(mockChronikUtxos)).toStrictEqual( mockOrganizedUtxosByType, ); const resultingOrganizedUtxosObject = organizeUtxosByType(mockChronikUtxos); const { nonSlpUtxos, preliminarySlpUtxos } = resultingOrganizedUtxosObject; const utxosWithUnexpectedKeys = []; for (let i = 0; i < nonSlpUtxos.length; i += 1) { // None of the objects in mockOrganizedUtxosByType.nonSlpUtxos should have the `slpToken` key // Note: Some may have an `slpMeta` key, if the utxo is from a token burn const nonSlpUtxo = nonSlpUtxos[i]; if ('slpToken' in nonSlpUtxo) { console.log(`unexpected nonSlpUtxo!`, nonSlpUtxo); utxosWithUnexpectedKeys.push(nonSlpUtxo); } } for (let i = 0; i < preliminarySlpUtxos.length; i += 1) { // All of the objects in mockOrganizedUtxosByType.slpUtxos should have the `slpMeta` and `slpToken` keys const slpUtxo = preliminarySlpUtxos[i]; if (!('slpMeta' in slpUtxo) || !('slpToken' in slpUtxo)) { console.log(`unexpected slpUtxo!`, slpUtxo); utxosWithUnexpectedKeys.push(slpUtxo); } } expect(utxosWithUnexpectedKeys.length).toBe(0); // Length of organized utxos should match original expect(preliminarySlpUtxos.length + nonSlpUtxos.length).toBe( mockChronikUtxos.length, ); }); it(`getPreliminaryTokensArray successfully returns an array of all tokenIds and token balances (not yet adjusted for token decimals)`, () => { expect( getPreliminaryTokensArray(mockOrganizedUtxosByType.preliminarySlpUtxos), ).toStrictEqual(mockPreliminaryTokensArray); }); it(`finalizeTokensArray successfully returns finalTokenArray and cachedTokenInfoById even if no cachedTokenInfoById is provided`, async () => { // Initialize chronik const chronik = new ChronikClient( 'https://FakeChronikUrlToEnsureMocksOnly.com', ); /* Mock the API response from chronik.tx('tokenId') called in returnGetTokenInfoChronikPromise -- for each tokenId used */ chronik.tx = jest.fn(); for (let i = 0; i < mockChronikTxDetailsResponses.length; i += 1) { when(chronik.tx) .calledWith(mockChronikTxDetailsResponses[i].txid) .mockResolvedValue(mockChronikTxDetailsResponses[i]); } expect( await finalizeTokensArray(chronik, mockPreliminaryTokensArray), ).toStrictEqual({ finalTokenArray: mockFinalTokenArray, updatedTokenInfoById: mockFinalCachedTokenInfo, newTokensToCache: true, }); }); it(`finalizeTokensArray successfully returns finalTokenArray and cachedTokenInfoById when called with all token info in cache`, async () => { // Initialize chronik const chronik = new ChronikClient( 'https://FakeChronikUrlToEnsureMocksOnly.com', ); expect( await finalizeTokensArray( chronik, mockPreliminaryTokensArrayClone, mockFinalCachedTokenInfo, ), ).toStrictEqual({ finalTokenArray: mockFinalTokenArray, updatedTokenInfoById: mockFinalCachedTokenInfo, newTokensToCache: false, }); }); it(`updateCachedTokenInfoAndFinalizeTokensArray successfully returns finalTokenArray and cachedTokenInfoById when called with some token info in cache`, async () => { // Initialize chronik const chronik = new ChronikClient( 'https://FakeChronikUrlToEnsureMocksOnly.com', ); /* Mock the API response from chronik.tx('tokenId') called in returnGetTokenInfoChronikPromise -- for each tokenId used */ chronik.tx = jest.fn(); for (let i = 0; i < mockPartialChronikTxDetailsResponses.length; i += 1) { when(chronik.tx) .calledWith(mockPartialChronikTxDetailsResponses[i].txid) .mockResolvedValue(mockPartialChronikTxDetailsResponses[i]); } expect( await finalizeTokensArray( chronik, mockPreliminaryTokensArrayCloneClone, mockPartialCachedTokenInfo, ), ).toStrictEqual({ finalTokenArray: mockFinalTokenArray, updatedTokenInfoById: mockFinalCachedTokenInfo, newTokensToCache: true, }); }); it(`finalizeSlpUtxos successfully adds token quantity adjusted for token decimals to preliminarySlpUtxos`, async () => { expect( await finalizeSlpUtxos(mockPreliminarySlpUtxos, mockTokenInfoById), ).toStrictEqual(mockFinalizedSlpUtxos); }); it(`flattenChronikTxHistory successfully combines the result of getTxHistoryChronik into a single array`, async () => { expect( await flattenChronikTxHistory(mockTxHistoryOfAllAddresses), ).toStrictEqual(mockFlatTxHistoryNoUnconfirmed); }); it(`sortAndTrimChronikTxHistory successfully orders the result of flattenChronikTxHistory by blockheight and firstSeenTime if all txs are confirmed, and returns a result of expected length`, async () => { expect( await sortAndTrimChronikTxHistory(mockFlatTxHistoryNoUnconfirmed, 10), ).toStrictEqual(mockSortedTxHistoryNoUnconfirmed); }); it(`sortAndTrimChronikTxHistory successfully orders the result of flattenChronikTxHistory by blockheight and firstSeenTime if some txs are confirmed and others unconfirmed, and returns a result of expected length`, async () => { expect( await sortAndTrimChronikTxHistory(mockFlatTxHistoryWithUnconfirmed, 10), ).toStrictEqual(mockSortedFlatTxHistoryWithUnconfirmed); }); it(`sortAndTrimChronikTxHistory successfully orders the result of flattenChronikTxHistory by blockheight and firstSeenTime if all txs are unconfirmed, and returns a result of expected length`, async () => { expect( await sortAndTrimChronikTxHistory( mockFlatTxHistoryWithAllUnconfirmed, 10, ), ).toStrictEqual(mockSortedFlatTxHistoryWithAllUnconfirmed); }); it(`Successfully parses an incoming XEC tx`, () => { const BCH = new BCHJS({ restURL: 'https://FakeBchApiUrlToEnsureMocksOnly.com', }); // This function needs to be mocked as bch-js functions that require Buffer types do not work in jest environment BCH.Address.hash160ToCash = jest .fn() .mockReturnValue( 'bitcoincash:qp89xgjhcqdnzzemts0aj378nfe2mhu9yvll3cvjwd', ); expect( parseChronikTx( BCH, lambdaIncomingXecTx, mockParseTxWallet, txHistoryTokenInfoById, ), ).toStrictEqual({ incoming: true, xecAmount: '42', originatingHash160: '4e532257c01b310b3b5c1fd947c79a72addf8523', isEtokenTx: false, legacy: { airdropFlag: false, airdropTokenId: '', amountReceived: '42', amountSent: 0, decryptionSuccess: false, isCashtabMessage: false, isEncryptedMessage: false, opReturnMessage: '', outgoingTx: false, replyAddress: 'ecash:qp89xgjhcqdnzzemts0aj378nfe2mhu9yvxj9nhgg6', tokenTx: false, }, }); }); it(`Successfully parses an outgoing XEC tx`, () => { const BCH = new BCHJS({ restURL: 'https://FakeBchApiUrlToEnsureMocksOnly.com', }); // This function needs to be mocked as bch-js functions that require Buffer types do not work in jest environment BCH.Address.hash160ToCash = jest .fn() .mockReturnValue( 'bitcoincash:qpmytrdsakt0axrrlswvaj069nat3p9s7ct4lsf8k9', ); expect( parseChronikTx( BCH, lambdaOutgoingXecTx, mockParseTxWallet, txHistoryTokenInfoById, ), ).toStrictEqual({ incoming: false, xecAmount: '222', originatingHash160: '76458db0ed96fe9863fc1ccec9fa2cfab884b0f6', isEtokenTx: false, legacy: { airdropFlag: false, airdropTokenId: '', amountReceived: 0, amountSent: '222', decryptionSuccess: false, isCashtabMessage: false, isEncryptedMessage: false, opReturnMessage: '', outgoingTx: true, replyAddress: 'ecash:qpmytrdsakt0axrrlswvaj069nat3p9s7cjctmjasj', tokenTx: false, }, }); }); it(`Successfully parses an incoming eToken tx`, () => { const BCH = new BCHJS(); // This function needs to be mocked as bch-js functions that require Buffer types do not work in jest environment BCH.Address.hash160ToCash = jest .fn() .mockReturnValue( 'bitcoincash:qp89xgjhcqdnzzemts0aj378nfe2mhu9yvll3cvjwd', ); expect( parseChronikTx( BCH, lambdaIncomingEtokenTx, mockParseTxWallet, txHistoryTokenInfoById, ), ).toStrictEqual({ incoming: true, xecAmount: '5.46', isEtokenTx: true, + isTokenBurn: false, originatingHash160: '4e532257c01b310b3b5c1fd947c79a72addf8523', slpMeta: { tokenId: '4bd147fc5d5ff26249a9299c46b80920c0b81f59a60e05428262160ebee0b0c3', tokenType: 'FUNGIBLE', txType: 'SEND', }, genesisInfo: { decimals: 0, success: true, tokenDocumentHash: '', tokenDocumentUrl: 'https://www.who.int/emergencies/diseases/novel-coronavirus-2019/covid-19-vaccines', tokenId: '4bd147fc5d5ff26249a9299c46b80920c0b81f59a60e05428262160ebee0b0c3', tokenName: 'Covid19 Lifetime Immunity', tokenTicker: 'NOCOVID', }, etokenAmount: '12', legacy: { airdropFlag: false, airdropTokenId: '', amountReceived: '5.46', amountSent: 0, decryptionSuccess: false, isCashtabMessage: false, isEncryptedMessage: false, opReturnMessage: '', outgoingTx: false, replyAddress: 'ecash:qp89xgjhcqdnzzemts0aj378nfe2mhu9yvxj9nhgg6', tokenTx: true, }, }); }); it(`Successfully parses an outgoing eToken tx`, () => { const BCH = new BCHJS({ restURL: 'https://FakeBchApiUrlToEnsureMocksOnly.com', }); // This function needs to be mocked as bch-js functions that require Buffer types do not work in jest environment BCH.Address.hash160ToCash = jest .fn() .mockReturnValue( 'bitcoincash:qpmytrdsakt0axrrlswvaj069nat3p9s7ct4lsf8k9', ); expect( parseChronikTx( BCH, lambdaOutgoingEtokenTx, mockParseTxWallet, txHistoryTokenInfoById, ), ).toStrictEqual({ incoming: false, xecAmount: '5.46', isEtokenTx: true, + isTokenBurn: false, originatingHash160: '76458db0ed96fe9863fc1ccec9fa2cfab884b0f6', slpMeta: { tokenId: '4bd147fc5d5ff26249a9299c46b80920c0b81f59a60e05428262160ebee0b0c3', tokenType: 'FUNGIBLE', txType: 'SEND', }, genesisInfo: { decimals: 0, success: true, tokenDocumentHash: '', tokenDocumentUrl: 'https://www.who.int/emergencies/diseases/novel-coronavirus-2019/covid-19-vaccines', tokenId: '4bd147fc5d5ff26249a9299c46b80920c0b81f59a60e05428262160ebee0b0c3', tokenName: 'Covid19 Lifetime Immunity', tokenTicker: 'NOCOVID', }, etokenAmount: '17', legacy: { airdropFlag: false, airdropTokenId: '', amountReceived: 0, amountSent: '5.46', decryptionSuccess: false, isCashtabMessage: false, isEncryptedMessage: false, opReturnMessage: '', outgoingTx: true, replyAddress: 'ecash:qpmytrdsakt0axrrlswvaj069nat3p9s7cjctmjasj', tokenTx: true, }, }); }); it(`Successfully parses a genesis eToken tx`, () => { const BCH = new BCHJS({ restURL: 'https://FakeBchApiUrlToEnsureMocksOnly.com', }); // This function needs to be mocked as bch-js functions that require Buffer types do not work in jest environment BCH.Address.hash160ToCash = jest .fn() .mockReturnValue( 'bitcoincash:qz2708636snqhsxu8wnlka78h6fdp77ar5ulhz04hr', ); expect( parseChronikTx( BCH, eTokenGenesisTx, anotherMockParseTxWallet, txHistoryTokenInfoById, ), ).toStrictEqual({ incoming: false, xecAmount: '0', originatingHash160: '95e79f51d4260bc0dc3ba7fb77c7be92d0fbdd1d', isEtokenTx: true, + isTokenBurn: false, etokenAmount: '777.7777777', slpMeta: { tokenType: 'FUNGIBLE', txType: 'GENESIS', tokenId: 'cf601c56b58bc05a39a95374a4a865f0a8b56544ea937b30fb46315441717c50', }, genesisInfo: { decimals: 7, success: true, tokenDocumentHash: '', tokenDocumentUrl: 'https://cashtab.com/', tokenId: 'cf601c56b58bc05a39a95374a4a865f0a8b56544ea937b30fb46315441717c50', tokenName: 'UpdateTest', tokenTicker: 'UDT', }, legacy: { amountSent: '0', amountReceived: 0, outgoingTx: true, tokenTx: true, airdropFlag: false, airdropTokenId: '', opReturnMessage: '', isCashtabMessage: false, isEncryptedMessage: false, decryptionSuccess: false, replyAddress: 'ecash:qz2708636snqhsxu8wnlka78h6fdp77ar59jrf5035', }, }); }); it(`Successfully parses a received eToken tx with 9 decimal places`, () => { const BCH = new BCHJS({ restURL: 'https://FakeBchApiUrlToEnsureMocksOnly.com', }); // This function needs to be mocked as bch-js functions that require Buffer types do not work in jest environment BCH.Address.hash160ToCash = jest .fn() .mockReturnValue( 'bitcoincash:qp89xgjhcqdnzzemts0aj378nfe2mhu9yvll3cvjwd', ); expect( parseChronikTx( BCH, receivedEtokenTxNineDecimals, anotherMockParseTxWallet, txHistoryTokenInfoById, ), ).toStrictEqual({ incoming: true, xecAmount: '5.46', originatingHash160: '4e532257c01b310b3b5c1fd947c79a72addf8523', isEtokenTx: true, + isTokenBurn: false, etokenAmount: '0.123456789', slpMeta: { tokenType: 'FUNGIBLE', txType: 'SEND', tokenId: 'acba1d7f354c6d4d001eb99d31de174e5cea8a31d692afd6e7eb8474ad541f55', }, genesisInfo: { decimals: 9, success: true, tokenDocumentHash: '', tokenDocumentUrl: 'https://cashtabapp.com/', tokenId: 'acba1d7f354c6d4d001eb99d31de174e5cea8a31d692afd6e7eb8474ad541f55', tokenName: 'CashTabBits', tokenTicker: 'CTB', }, legacy: { amountSent: 0, amountReceived: '5.46', outgoingTx: false, tokenTx: true, airdropFlag: false, airdropTokenId: '', opReturnMessage: '', isCashtabMessage: false, isEncryptedMessage: false, decryptionSuccess: false, replyAddress: 'ecash:qp89xgjhcqdnzzemts0aj378nfe2mhu9yvxj9nhgg6', }, }); }); it(`Correctly parses a received airdrop transaction`, () => { const BCH = new BCHJS({ restURL: 'https://FakeBchApiUrlToEnsureMocksOnly.com', }); // This function needs to be mocked as bch-js functions that require Buffer types do not work in jest environment BCH.Address.hash160ToCash = jest .fn() .mockReturnValue( 'bitcoincash:qp36z7k8xt7k4l5xnxeypg5mfqeyvvyduukc069ng6', ); expect( parseChronikTx( BCH, mockAirdropTx, anotherMockParseTxWallet, txHistoryTokenInfoById, ), ).toStrictEqual({ incoming: true, xecAmount: '5.69', originatingHash160: '63a17ac732fd6afe8699b240a29b483246308de7', isEtokenTx: false, legacy: { amountSent: 0, amountReceived: '5.69', outgoingTx: false, tokenTx: false, airdropFlag: true, airdropTokenId: 'bdb3b4215ca0622e0c4c07655522c376eaa891838a82f0217fa453bb0595a37c', opReturnMessage: 'evc token service holders air dropπŸ₯‡πŸŒπŸ₯‡β€πŸ‘ŒπŸ›¬πŸ›¬πŸ—πŸ€΄', isCashtabMessage: true, isEncryptedMessage: false, decryptionSuccess: false, replyAddress: 'ecash:qp36z7k8xt7k4l5xnxeypg5mfqeyvvyduu04m37fwd', }, }); }); it(`Correctly parses a sent encyrpted message transaction`, () => { const BCH = new BCHJS({ restURL: 'https://FakeBchApiUrlToEnsureMocksOnly.com', }); // This function needs to be mocked as bch-js functions that require Buffer types do not work in jest environment BCH.Address.hash160ToCash = jest .fn() .mockReturnValue( 'bitcoincash:qrhxmjw5p72a3cgx5cect3h63q5erw0gfc4l80hyqu', ); expect( parseChronikTx( BCH, mockSentEncryptedTx, mockWalletWithPrivateKeys, txHistoryTokenInfoById, ), ).toStrictEqual({ incoming: false, xecAmount: '12', originatingHash160: 'ee6dc9d40f95d8e106a63385c6fa882991b9e84e', isEtokenTx: false, legacy: { amountSent: '12', amountReceived: 0, outgoingTx: true, tokenTx: false, airdropFlag: false, airdropTokenId: '', opReturnMessage: 'Only the message recipient can view this', isCashtabMessage: true, isEncryptedMessage: true, decryptionSuccess: false, replyAddress: 'ecash:qrhxmjw5p72a3cgx5cect3h63q5erw0gfcvjnyv7xt', }, }); }); it(`Correctly parses a received encyrpted message transaction`, () => { const BCH = new BCHJS({ restURL: 'https://FakeBchApiUrlToEnsureMocksOnly.com', }); // This function needs to be mocked as bch-js functions that require Buffer types do not work in jest environment BCH.Address.hash160ToCash = jest .fn() .mockReturnValue( 'bitcoincash:qp89xgjhcqdnzzemts0aj378nfe2mhu9yvll3cvjwd', ); expect( parseChronikTx( BCH, mockReceivedEncryptedTx, mockWalletWithPrivateKeys, txHistoryTokenInfoById, ), ).toStrictEqual({ incoming: true, xecAmount: '11', originatingHash160: '4e532257c01b310b3b5c1fd947c79a72addf8523', isEtokenTx: false, legacy: { amountSent: 0, amountReceived: '11', outgoingTx: false, tokenTx: false, airdropFlag: false, airdropTokenId: '', opReturnMessage: 'Test encrypted message', isCashtabMessage: true, isEncryptedMessage: true, decryptionSuccess: true, replyAddress: 'ecash:qp89xgjhcqdnzzemts0aj378nfe2mhu9yvxj9nhgg6', }, }); }); + +it(`Correctly parses a token burn transaction`, () => { + const BCH = new BCHJS({ + restURL: 'https://FakeBchApiUrlToEnsureMocksOnly.com', + }); + // This function needs to be mocked as bch-js functions that require Buffer types do not work in jest environment + BCH.Address.hash160ToCash = jest + .fn() + .mockReturnValue( + 'bitcoincash:qz2708636snqhsxu8wnlka78h6fdp77ar5ulhz04hr', + ); + expect( + parseChronikTx( + BCH, + mockTokenBurnTx, + anotherMockParseTxWallet, + txHistoryTokenInfoById, + ), + ).toStrictEqual({ + incoming: false, + xecAmount: '0', + originatingHash160: '95e79f51d4260bc0dc3ba7fb77c7be92d0fbdd1d', + isEtokenTx: true, + isTokenBurn: true, + etokenAmount: '12', + slpMeta: { + tokenType: 'FUNGIBLE', + txType: 'SEND', + tokenId: + '4db25a4b2f0b57415ce25fab6d9cb3ac2bbb444ff493dc16d0615a11ad06c875', + }, + genesisInfo: { + tokenTicker: 'LVV', + tokenName: 'Lambda Variant Variants', + tokenDocumentUrl: 'https://cashtabapp.com/', + tokenDocumentHash: '', + decimals: 0, + tokenId: + '4db25a4b2f0b57415ce25fab6d9cb3ac2bbb444ff493dc16d0615a11ad06c875', + success: true, + }, + legacy: { + amountSent: '0', + amountReceived: 0, + outgoingTx: true, + tokenTx: true, + airdropFlag: false, + airdropTokenId: '', + opReturnMessage: '', + isCashtabMessage: false, + isEncryptedMessage: false, + decryptionSuccess: false, + replyAddress: 'ecash:qz2708636snqhsxu8wnlka78h6fdp77ar59jrf5035', + }, + }); +}); +it(`Correctly parses a token burn transaction with decimal places`, () => { + const BCH = new BCHJS({ + restURL: 'https://FakeBchApiUrlToEnsureMocksOnly.com', + }); + // This function needs to be mocked as bch-js functions that require Buffer types do not work in jest environment + BCH.Address.hash160ToCash = jest + .fn() + .mockReturnValue( + 'bitcoincash:qz2708636snqhsxu8wnlka78h6fdp77ar5ulhz04hr', + ); + expect( + parseChronikTx( + BCH, + mockTokenBurnWithDecimalsTx, + anotherMockParseTxWallet, + txHistoryTokenInfoById, + ), + ).toStrictEqual({ + incoming: false, + xecAmount: '0', + originatingHash160: '95e79f51d4260bc0dc3ba7fb77c7be92d0fbdd1d', + isEtokenTx: true, + etokenAmount: '0.1234567', + isTokenBurn: true, + slpMeta: { + tokenType: 'FUNGIBLE', + txType: 'SEND', + tokenId: + '7443f7c831cdf2b2b04d5f0465ed0bcf348582675b0e4f17906438c232c22f3d', + }, + genesisInfo: { + tokenTicker: 'WDT', + tokenName: + 'Test Token With Exceptionally Long Name For CSS And Style Revisions', + tokenDocumentUrl: + 'https://www.ImpossiblyLongWebsiteDidYouThinkWebDevWouldBeFun.org', + tokenDocumentHash: + '85b591c15c9f49531e39fcfeb2a5a26b2bd0f7c018fb9cd71b5d92dfb732d5cc', + decimals: 7, + tokenId: + '7443f7c831cdf2b2b04d5f0465ed0bcf348582675b0e4f17906438c232c22f3d', + success: true, + }, + legacy: { + amountSent: '0', + amountReceived: 0, + outgoingTx: true, + tokenTx: true, + airdropFlag: false, + airdropTokenId: '', + opReturnMessage: '', + isCashtabMessage: false, + isEncryptedMessage: false, + decryptionSuccess: false, + replyAddress: 'ecash:qz2708636snqhsxu8wnlka78h6fdp77ar59jrf5035', + }, + }); +}); diff --git a/web/cashtab/src/utils/chronik.js b/web/cashtab/src/utils/chronik.js index 222dcd812..5e28a1104 100644 --- a/web/cashtab/src/utils/chronik.js +++ b/web/cashtab/src/utils/chronik.js @@ -1,816 +1,839 @@ // Chronik methods import BigNumber from 'bignumber.js'; import { currency } from 'components/Common/Ticker'; import { parseOpReturn, convertToEncryptStruct, getHashArrayFromWallet, getUtxoWif, } from 'utils/cashMethods'; import ecies from 'ecies-lite'; import wif from 'wif'; import cashaddr from 'ecashaddrjs'; // Return false if do not get a valid response export const getTokenStats = async (chronik, tokenId) => { try { // token attributes available via chronik's token() method let tokenResponseObj = await chronik.token(tokenId); const tokenDecimals = tokenResponseObj.slpTxData.genesisInfo.decimals; // additional arithmetic to account for token decimals // circulating supply not provided by chronik, calculate via totalMinted - totalBurned tokenResponseObj.circulatingSupply = new BigNumber( tokenResponseObj.tokenStats.totalMinted, ) .minus(new BigNumber(tokenResponseObj.tokenStats.totalBurned)) .shiftedBy(-1 * tokenDecimals) .toString(); tokenResponseObj.tokenStats.totalMinted = new BigNumber( tokenResponseObj.tokenStats.totalMinted, ) .shiftedBy(-1 * tokenDecimals) .toString(); tokenResponseObj.initialTokenQuantity = new BigNumber( tokenResponseObj.initialTokenQuantity, ) .shiftedBy(-1 * tokenDecimals) .toString(); tokenResponseObj.tokenStats.totalBurned = new BigNumber( tokenResponseObj.tokenStats.totalBurned, ) .shiftedBy(-1 * tokenDecimals) .toString(); return tokenResponseObj; } catch (err) { console.log( `Error fetching token stats for tokenId ${tokenId}: ` + err, ); return false; } }; /* Note: chronik.script('p2pkh', hash160).utxos(); is not readily mockable in jest Hence it is necessary to keep this out of any functions that require unit testing */ export const getUtxosSingleHashChronik = async (chronik, hash160) => { // Get utxos at a single address, which chronik takes in as a hash160 let utxos; try { utxos = await chronik.script('p2pkh', hash160).utxos(); if (utxos.length === 0) { // Chronik returns an empty array if there are no utxos at this hash160 return []; } /* Chronik returns an array of with a single object if there are utxos at this hash 160 [ { outputScript: , utxos:[{utxo}, {utxo}, ..., {utxo}] } ] */ // Return only the array of utxos at this address return utxos[0].utxos; } catch (err) { console.log(`Error in chronik.utxos(${hash160})`, err); } }; export const returnGetUtxosChronikPromise = (chronik, hash160AndAddressObj) => { /* Chronik thinks in hash160s, but people and wallets think in addresses Add the address to each utxo */ return new Promise((resolve, reject) => { getUtxosSingleHashChronik(chronik, hash160AndAddressObj.hash160).then( result => { for (let i = 0; i < result.length; i += 1) { const thisUtxo = result[i]; thisUtxo.address = hash160AndAddressObj.address; } resolve(result); }, err => { reject(err); }, ); }); }; export const getUtxosChronik = async (chronik, hash160sMappedToAddresses) => { /* Chronik only accepts utxo requests for one address at a time Construct an array of promises for each address Note: Chronik requires the hash160 of an address for this request */ const chronikUtxoPromises = []; for (let i = 0; i < hash160sMappedToAddresses.length; i += 1) { const thisPromise = returnGetUtxosChronikPromise( chronik, hash160sMappedToAddresses[i], ); chronikUtxoPromises.push(thisPromise); } const allUtxos = await Promise.all(chronikUtxoPromises); // Since each individual utxo has address information, no need to keep them in distinct arrays // Combine into one array of all utxos const flatUtxos = allUtxos.flat(); return flatUtxos; }; export const organizeUtxosByType = chronikUtxos => { /* Convert chronik utxos (returned by getUtxosChronik function, above) to match shape of existing slpBalancesAndUtxos object This means sequestering eToken utxos from non-eToken utxos For legacy reasons, the term "SLP" is still sometimes used to describe an eToken So, SLP utxos === eToken utxos, it's just a semantics difference here */ const nonSlpUtxos = []; const preliminarySlpUtxos = []; for (let i = 0; i < chronikUtxos.length; i += 1) { // Construct nonSlpUtxos and slpUtxos arrays const thisUtxo = chronikUtxos[i]; if (typeof thisUtxo.slpToken !== 'undefined') { preliminarySlpUtxos.push(thisUtxo); } else { nonSlpUtxos.push(thisUtxo); } } return { preliminarySlpUtxos, nonSlpUtxos }; }; export const getPreliminaryTokensArray = preliminarySlpUtxos => { // Iterate over the slpUtxos to create the 'tokens' object let tokensById = {}; preliminarySlpUtxos.forEach(preliminarySlpUtxo => { /* Note that a wallet could have many eToken utxos all belonging to the same eToken For example, a user could have 100 of a certain eToken, but this is composed of four utxos, one for 17, one for 50, one for 30, one for 3 */ // Start with the existing object for this particular token, if it exists let token = tokensById[preliminarySlpUtxo.slpMeta.tokenId]; if (token) { if (preliminarySlpUtxo.slpToken.amount) { token.balance = token.balance.plus( new BigNumber(preliminarySlpUtxo.slpToken.amount), ); } } else { // If it does not exist, create it token = {}; token.tokenId = preliminarySlpUtxo.slpMeta.tokenId; if (preliminarySlpUtxo.slpToken.amount) { token.balance = new BigNumber( preliminarySlpUtxo.slpToken.amount, ); } else { token.balance = new BigNumber(0); } tokensById[preliminarySlpUtxo.slpMeta.tokenId] = token; } }); const preliminaryTokensArray = Object.values(tokensById); return preliminaryTokensArray; }; const returnGetTokenInfoChronikPromise = (chronik, tokenId) => { /* The chronik.tx(txid) API call returns extensive transaction information For the purposes of finalizing token information, we only need the token metadata This function returns a promise that extracts only this needed information from the chronik.tx(txid) API call In this way, calling Promise.all() on an array of tokenIds that lack metadata will return an array with all required metadata */ return new Promise((resolve, reject) => { chronik.tx(tokenId).then( result => { const thisTokenInfo = result.slpTxData.genesisInfo; thisTokenInfo.tokenId = tokenId; // You only want the genesis info for tokenId resolve(thisTokenInfo); }, err => { reject(err); }, ); }); }; export const processPreliminaryTokensArray = ( preliminaryTokensArray, tokenInfoByTokenId, ) => { /* Iterate over preliminaryTokensArray to 1 - Add slp metadata (token ticker, name, other metadata) 2 - Calculate the token balance. Token balance in preliminaryTokensArray does not take into account the decimal places of the token...so it is incorrect. */ const finalTokenArray = []; for (let i = 0; i < preliminaryTokensArray.length; i += 1) { const thisToken = preliminaryTokensArray[i]; const thisTokenId = thisToken.tokenId; // Because tokenInfoByTokenId is indexed by tokenId, it's easy to reference const thisTokenInfo = tokenInfoByTokenId[thisTokenId]; // The decimals are specifically needed to calculate the correct balance const thisTokenDecimals = thisTokenInfo.decimals; // Add info object to token thisToken.info = thisTokenInfo; // Update balance according to decimals thisToken.balance = thisToken.balance.shiftedBy(-1 * thisTokenDecimals); // Now that you have the metadata and the correct balance, // preliminaryTokenInfo is finalTokenInfo finalTokenArray.push(thisToken); } return finalTokenArray; }; export const finalizeTokensArray = async ( chronik, preliminaryTokensArray, cachedTokenInfoById = {}, ) => { // Iterate over preliminaryTokensArray to determine what tokens you need to make API calls for // Create an array of promises // Each promise is a chronik API call to obtain token metadata for this token ID const getTokenInfoPromises = []; for (let i = 0; i < preliminaryTokensArray.length; i += 1) { const thisTokenId = preliminaryTokensArray[i].tokenId; // See if you already have this info in cachedTokenInfo if (thisTokenId in cachedTokenInfoById) { // If you already have this info in cache, do not create an API request for it continue; } const thisTokenInfoPromise = returnGetTokenInfoChronikPromise( chronik, thisTokenId, ); getTokenInfoPromises.push(thisTokenInfoPromise); } const newTokensToCache = getTokenInfoPromises.length > 0; // Get all the token info you need let tokenInfoArray = []; try { tokenInfoArray = await Promise.all(getTokenInfoPromises); } catch (err) { console.log(`Error in Promise.all(getTokenInfoPromises)`, err); } // Add the token info you received from those API calls to // your token info cache object, cachedTokenInfoByTokenId const updatedTokenInfoById = cachedTokenInfoById; for (let i = 0; i < tokenInfoArray.length; i += 1) { /* tokenInfoArray is an array of objects that look like { "tokenTicker": "ST", "tokenName": "ST", "tokenDocumentUrl": "developer.bitcoin.com", "tokenDocumentHash": "", "decimals": 0, "tokenId": "bf24d955f59351e738ecd905966606a6837e478e1982943d724eab10caad82fd" } */ const thisTokenInfo = tokenInfoArray[i]; const thisTokenId = thisTokenInfo.tokenId; // Add this entry to updatedTokenInfoById updatedTokenInfoById[thisTokenId] = thisTokenInfo; } // Now use cachedTokenInfoByTokenId object to finalize token info // Split this out into a separate function so you can unit test const finalTokenArray = processPreliminaryTokensArray( preliminaryTokensArray, updatedTokenInfoById, ); return { finalTokenArray, updatedTokenInfoById, newTokensToCache }; }; export const finalizeSlpUtxos = (preliminarySlpUtxos, tokenInfoById) => { // We need tokenQty in each slpUtxo to support transaction creation // Add this info here const finalizedSlpUtxos = []; for (let i = 0; i < preliminarySlpUtxos.length; i += 1) { const thisUtxo = preliminarySlpUtxos[i]; const thisTokenId = thisUtxo.slpMeta.tokenId; const { decimals } = tokenInfoById[thisTokenId]; // Update balance according to decimals thisUtxo.tokenQty = new BigNumber(thisUtxo.slpToken.amount) .shiftedBy(-1 * decimals) .toString(); // SLP utxos also require tokenId and decimals directly in the utxo object // This is bad organization but necessary until bch-js is refactored // https://github.com/Permissionless-Software-Foundation/bch-js/blob/master/src/slp/tokentype1.js#L217 thisUtxo.tokenId = thisTokenId; thisUtxo.decimals = decimals; finalizedSlpUtxos.push(thisUtxo); } return finalizedSlpUtxos; }; export const flattenChronikTxHistory = txHistoryOfAllAddresses => { // Create an array of all txs let flatTxHistoryArray = []; for (let i = 0; i < txHistoryOfAllAddresses.length; i += 1) { const txHistoryResponseOfThisAddress = txHistoryOfAllAddresses[i]; const txHistoryOfThisAddress = txHistoryResponseOfThisAddress.txs; flatTxHistoryArray = flatTxHistoryArray.concat(txHistoryOfThisAddress); } return flatTxHistoryArray; }; export const sortAndTrimChronikTxHistory = ( flatTxHistoryArray, txHistoryCount, ) => { // Isolate unconfirmed txs // In chronik, unconfirmed txs have an `undefined` block key const unconfirmedTxs = []; const confirmedTxs = []; for (let i = 0; i < flatTxHistoryArray.length; i += 1) { const thisTx = flatTxHistoryArray[i]; if (typeof thisTx.block === 'undefined') { unconfirmedTxs.push(thisTx); } else { confirmedTxs.push(thisTx); } } console.log(`confirmed txs`, confirmedTxs); console.log(`unconfirmed txs`, unconfirmedTxs); // Sort confirmed txs by blockheight, and then timeFirstSeen const sortedConfirmedTxHistoryArray = confirmedTxs.sort( (a, b) => // We want more recent blocks i.e. higher blockheights to have earlier array indices b.block.height - a.block.height || // For blocks with the same height, we want more recent timeFirstSeen i.e. higher timeFirstSeen to have earlier array indices b.timeFirstSeen - a.timeFirstSeen, ); // Sort unconfirmed txs by timeFirstSeen const sortedUnconfirmedTxHistoryArray = unconfirmedTxs.sort( (a, b) => b.timeFirstSeen - a.timeFirstSeen, ); // The unconfirmed txs are more recent, so they should be inserted into an array before the confirmed txs const sortedChronikTxHistoryArray = sortedUnconfirmedTxHistoryArray.concat( sortedConfirmedTxHistoryArray, ); const trimmedAndSortedChronikTxHistoryArray = sortedChronikTxHistoryArray.splice(0, txHistoryCount); return trimmedAndSortedChronikTxHistoryArray; }; export const returnGetTxHistoryChronikPromise = ( chronik, hash160AndAddressObj, ) => { /* Chronik thinks in hash160s, but people and wallets think in addresses Add the address to each utxo */ return new Promise((resolve, reject) => { chronik .script('p2pkh', hash160AndAddressObj.hash160) .history(/*page=*/ 0, /*page_size=*/ currency.txHistoryCount) .then( result => { console.log( `result for ${hash160AndAddressObj.hash160}`, result, ); resolve(result); }, err => { reject(err); }, ); }); }; export const parseChronikTx = (BCH, tx, wallet, tokenInfoById) => { const walletHash160s = getHashArrayFromWallet(wallet); const { inputs, outputs } = tx; // Assign defaults let incoming = true; let xecAmount = new BigNumber(0); let originatingHash160 = ''; let etokenAmount = new BigNumber(0); + let isTokenBurn = false; const isEtokenTx = 'slpTxData' in tx && typeof tx.slpTxData !== 'undefined'; const isGenesisTx = isEtokenTx && tx.slpTxData.slpMeta && tx.slpTxData.slpMeta.txType && tx.slpTxData.slpMeta.txType === 'GENESIS'; if (isGenesisTx) { console.log(`${tx.txid} isGenesisTx`); } // Defining variables used in lines legacy parseTxData function from useBCH.js let substring = ''; let airdropFlag = false; let airdropTokenId = ''; let opReturnMessage = ''; let isCashtabMessage = false; let isEncryptedMessage = false; let decryptionSuccess = false; let replyAddress = ''; // Iterate over inputs to see if this is an incoming tx (incoming === true) for (let i = 0; i < inputs.length; i += 1) { const thisInput = inputs[i]; const thisInputSendingHash160 = thisInput.outputScript; + // If this is an etoken tx, check for token burn + if (isEtokenTx && typeof thisInput.slpBurn !== 'undefined') { + console.log(`Token burn at ${tx.txid}`); + // Assume that any eToken tx with a burn is a burn tx + isTokenBurn = true; + try { + const thisEtokenBurnAmount = new BigNumber( + thisInput.slpBurn.token.amount, + ); + // Need to know the total output amount to compare to total input amount and tell if this is a burn transaction + etokenAmount = etokenAmount.plus(thisEtokenBurnAmount); + } catch (err) { + // do nothing + // If this happens, the burn amount will render wrong in tx history because we don't have the info in chronik + // This is acceptable + } + } /* Assume the first input is the originating address https://en.bitcoin.it/wiki/Script for reference Assume standard pay-to-pubkey-hash tx scriptPubKey: OP_DUP OP_HASH160 OP_EQUALVERIFY OP_CHECKSIG 76 + a9 + 14 = OP_DUP + OP_HASH160 + 14 Bytes to push 88 + ac = OP_EQUALVERIFY + OP_CHECKSIG So, the hash160 we want will be in between '76a914' and '88ac' ...most of the time ;) */ try { originatingHash160 = thisInputSendingHash160.substring( thisInputSendingHash160.indexOf('76a914') + '76a914'.length, thisInputSendingHash160.lastIndexOf('88ac'), ); let replyAddressBchFormat = BCH.Address.hash160ToCash(originatingHash160); const { type, hash } = cashaddr.decode(replyAddressBchFormat); replyAddress = cashaddr.encode('ecash', type, hash); console.log(`replyAddressXecFormat`, replyAddress); } catch (err) { console.log(`err from ${originatingHash160}`, err); // If the transaction is nonstandard, don't worry about a reply address for now originatingHash160 = 'N/A'; } for (let j = 0; j < walletHash160s.length; j += 1) { const thisWalletHash160 = walletHash160s[j]; if (thisInputSendingHash160.includes(thisWalletHash160)) { // Then this is an outgoing tx incoming = false; // Break out of this for loop once you know this is an incoming tx break; } } } // Iterate over outputs to get the amount sent for (let i = 0; i < outputs.length; i += 1) { const thisOutput = outputs[i]; const thisOutputReceivedAtHash160 = thisOutput.outputScript; // Check for OP_RETURN msg if ( thisOutput.value === '0' && typeof thisOutput.slpToken === 'undefined' ) { let hex = thisOutputReceivedAtHash160; let parsedOpReturnArray = parseOpReturn(hex); // Exactly copying lines 177-293 of useBCH.js // Differences // 1 - patched ecies not async error // 2 - Removed if loop for tx being token, as this is handled elsewhere here if (!parsedOpReturnArray) { console.log( 'useBCH.parsedTxData() error: parsed array is empty', ); break; } let message = ''; let txType = parsedOpReturnArray[0]; if (txType === currency.opReturn.appPrefixesHex.airdrop) { // this is to facilitate special Cashtab-specific cases of airdrop txs, both with and without msgs // The UI via Tx.js can check this airdropFlag attribute in the parsedTx object to conditionally render airdrop-specific formatting if it's true airdropFlag = true; // index 0 is drop prefix, 1 is the token Id, 2 is msg prefix, 3 is msg airdropTokenId = parsedOpReturnArray[1]; txType = parsedOpReturnArray[2]; // remove the first two elements of airdrop prefix and token id from array so the array parsing logic below can remain unchanged parsedOpReturnArray.splice(0, 2); // index 0 now becomes msg prefix, 1 becomes the msg } if (txType === currency.opReturn.appPrefixesHex.cashtab) { // this is a Cashtab message try { opReturnMessage = Buffer.from( parsedOpReturnArray[1], 'hex', ); isCashtabMessage = true; } catch (err) { // soft error if an unexpected or invalid cashtab hex is encountered opReturnMessage = ''; console.log( 'useBCH.parsedTxData() error: invalid cashtab msg hex: ' + parsedOpReturnArray[1], ); } } else if ( txType === currency.opReturn.appPrefixesHex.cashtabEncrypted ) { // this is an encrypted Cashtab message let msgString = parsedOpReturnArray[1]; let fundingWif, privateKeyObj, privateKeyBuff; if ( wallet && wallet.state && wallet.state.slpBalancesAndUtxos && wallet.state.slpBalancesAndUtxos.nonSlpUtxos[0] ) { fundingWif = getUtxoWif( wallet.state.slpBalancesAndUtxos.nonSlpUtxos[0], wallet, ); privateKeyObj = wif.decode(fundingWif); privateKeyBuff = privateKeyObj.privateKey; if (!privateKeyBuff) { throw new Error('Private key extraction error'); } } else { break; } let structData; let decryptedMessage; try { // Convert the hex encoded message to a buffer const msgBuf = Buffer.from(msgString, 'hex'); // Convert the bufer into a structured object. structData = convertToEncryptStruct(msgBuf); decryptedMessage = ecies.decrypt( privateKeyBuff, structData, ); decryptionSuccess = true; } catch (err) { console.log( 'useBCH.parsedTxData() decryption error: ' + err, ); decryptedMessage = 'Only the message recipient can view this'; } isCashtabMessage = true; isEncryptedMessage = true; opReturnMessage = decryptedMessage; } else { // this is an externally generated message message = txType; // index 0 is the message content in this instance // if there are more than one part to the external message const arrayLength = parsedOpReturnArray.length; for (let i = 1; i < arrayLength; i++) { message = message + parsedOpReturnArray[i]; } try { opReturnMessage = Buffer.from(message, 'hex'); } catch (err) { // soft error if an unexpected or invalid cashtab hex is encountered opReturnMessage = ''; console.log( 'useBCH.parsedTxData() error: invalid external msg hex: ' + substring, ); } } } // Find amounts at your wallet's addresses for (let j = 0; j < walletHash160s.length; j += 1) { const thisWalletHash160 = walletHash160s[j]; if (thisOutputReceivedAtHash160.includes(thisWalletHash160)) { // If incoming tx, this is amount received by the user's wallet // if outgoing tx (incoming === false), then this is a change amount const thisOutputAmount = new BigNumber(thisOutput.value); xecAmount = incoming ? xecAmount.plus(thisOutputAmount) : xecAmount.minus(thisOutputAmount); // Parse token qty if token tx // Note: edge case this is a token tx that sends XEC to Cashtab recipient but token somewhere else - if (isEtokenTx) { + if (isEtokenTx && !isTokenBurn) { try { const thisEtokenAmount = new BigNumber( thisOutput.slpToken.amount, ); etokenAmount = incoming || isGenesisTx ? etokenAmount.plus(thisEtokenAmount) : etokenAmount.minus(thisEtokenAmount); } catch (err) { // edge case described above; in this case there is zero eToken value for this Cashtab recipient, so add 0 etokenAmount.plus(new BigNumber(0)); } } } } // Output amounts not at your wallet are sent amounts if !incoming // Exception for eToken genesis transactions if (!incoming) { const thisOutputAmount = new BigNumber(thisOutput.value); xecAmount = xecAmount.plus(thisOutputAmount); - if (isEtokenTx && !isGenesisTx) { + if (isEtokenTx && !isGenesisTx && !isTokenBurn) { try { const thisEtokenAmount = new BigNumber( thisOutput.slpToken.amount, ); etokenAmount = etokenAmount.plus(thisEtokenAmount); } catch (err) { // NB the edge case described above cannot exist in an outgoing tx // because the eTokens sent originated from this wallet } } } } // Convert from sats to XEC xecAmount = xecAmount.shiftedBy(-1 * currency.cashDecimals); // Convert from BigNumber to string xecAmount = xecAmount.toString(); // Get decimal info for correct etokenAmount let genesisInfo = {}; + if (isEtokenTx) { // Get token genesis info from cache let decimals = 0; try { genesisInfo = tokenInfoById[tx.slpTxData.slpMeta.tokenId]; genesisInfo.success = true; // tokenGenesisInfo should be there for every tx in tx history, since it's already been cached for every utxo in the wallet // but try...catch just in case decimals = genesisInfo.decimals; etokenAmount = etokenAmount.shiftedBy(-1 * decimals); } catch (err) { console.log( `Error getting token info from cache in parseChronikTx`, err, ); // To keep this function synchronous, do not get this info from the API if it is not in cache // Instead, return a flag so that useWallet.js knows and can fetch this info + add it to cache genesisInfo.success = false; } } etokenAmount = etokenAmount.toString(); + if (isTokenBurn) { + console.log(`${etokenAmount} of ${genesisInfo.tokenName} burned`); + } // Convert opReturnMessage to string opReturnMessage = Buffer.from(opReturnMessage).toString(); // Return eToken specific fields if eToken tx if (isEtokenTx) { const { slpMeta } = tx.slpTxData; return { incoming, xecAmount, originatingHash160, isEtokenTx, etokenAmount, + isTokenBurn, slpMeta, genesisInfo, legacy: { amountSent: incoming ? 0 : xecAmount, amountReceived: incoming ? xecAmount : 0, outgoingTx: !incoming, tokenTx: true, airdropFlag, airdropTokenId, opReturnMessage: '', isCashtabMessage, isEncryptedMessage, decryptionSuccess, replyAddress, }, }; } // Otherwise do not include these fields return { incoming, xecAmount, originatingHash160, isEtokenTx, legacy: { amountSent: incoming ? 0 : xecAmount, amountReceived: incoming ? xecAmount : 0, outgoingTx: !incoming, tokenTx: false, airdropFlag, airdropTokenId, opReturnMessage, isCashtabMessage, isEncryptedMessage, decryptionSuccess, replyAddress, }, }; }; export const getTxHistoryChronik = async ( chronik, BCH, wallet, tokenInfoById, ) => { // Create array of promises to get chronik history for each address // Combine them all and sort by blockheight and firstSeen // Add all the info cashtab needs to make them useful console.log(`tokenInfoById`, tokenInfoById); const hash160AndAddressObjArray = [ { address: wallet.Path145.cashAddress, hash160: wallet.Path145.hash160, }, { address: wallet.Path245.cashAddress, hash160: wallet.Path245.hash160, }, { address: wallet.Path1899.cashAddress, hash160: wallet.Path1899.hash160, }, ]; let txHistoryPromises = []; for (let i = 0; i < hash160AndAddressObjArray.length; i += 1) { const txHistoryPromise = returnGetTxHistoryChronikPromise( chronik, hash160AndAddressObjArray[i], ); txHistoryPromises.push(txHistoryPromise); } let txHistoryOfAllAddresses; try { txHistoryOfAllAddresses = await Promise.all(txHistoryPromises); } catch (err) { console.log(`Error in Promise.all(txHistoryPromises)`, err); } console.log(`txHistoryOfAllAddresses`, txHistoryOfAllAddresses); const flatTxHistoryArray = flattenChronikTxHistory(txHistoryOfAllAddresses); console.log(`flatTxHistoryArray`, flatTxHistoryArray); const sortedTxHistoryArray = sortAndTrimChronikTxHistory( flatTxHistoryArray, currency.txHistoryCount, ); // Parse txs const parsedTxs = []; for (let i = 0; i < sortedTxHistoryArray.length; i += 1) { const sortedTx = sortedTxHistoryArray[i]; // Add token genesis info so parsing function can calculate amount by decimals sortedTx.parsed = parseChronikTx(BCH, sortedTx, wallet, tokenInfoById); parsedTxs.push(sortedTx); } return parsedTxs; };