diff --git a/__tests__/__snapshots__/AddressBook.AbDetail.snapshot.tsx.snap b/__tests__/__snapshots__/AddressBook.AbDetail.snapshot.tsx.snap index ae2eeaae8..f46d5d37d 100644 --- a/__tests__/__snapshots__/AddressBook.AbDetail.snapshot.tsx.snap +++ b/__tests__/__snapshots__/AddressBook.AbDetail.snapshot.tsx.snap @@ -1230,7 +1230,7 @@ exports[`Component Address Book Details - test Address Book Datails - Modify - s { "alignItems": "center", "backgroundColor": "#18bd18", - "borderColor": "#c3c3c3", + "borderColor": "#18bd18", "borderRadius": 10, "borderWidth": 2, "justifyContent": "center", diff --git a/app/rpc/RPC.ts b/app/rpc/RPC.ts index fa3ea224f..a4b23c4cc 100644 --- a/app/rpc/RPC.ts +++ b/app/rpc/RPC.ts @@ -1247,42 +1247,42 @@ export default class RPC { valueTransfersJSON.value_transfers.forEach((vt: RPCValueTransferType) => { const currentValueTransferList: ValueTransferType = {} as ValueTransferType; - currentValueTransferList.txid = vt.txid; - currentValueTransferList.time = vt.datetime; - currentValueTransferList.kind = - vt.kind === RPCValueTransfersKindEnum.memoToSelf - ? ValueTransferKindEnum.MemoToSelf - : vt.kind === RPCValueTransfersKindEnum.basic - ? ValueTransferKindEnum.SendToSelf - : vt.kind === RPCValueTransfersKindEnum.received - ? ValueTransferKindEnum.Received - : vt.kind === RPCValueTransfersKindEnum.sent - ? ValueTransferKindEnum.Sent - : vt.kind === RPCValueTransfersKindEnum.shield - ? ValueTransferKindEnum.Shield - : ValueTransferKindEnum.Rejection; - currentValueTransferList.fee = (!vt.transaction_fee ? 0 : vt.transaction_fee) / 10 ** 8; - currentValueTransferList.zecPrice = !vt.zec_price ? 0 : vt.zec_price; - if ( - vt.status === RPCValueTransfersStatusEnum.calculated || - vt.status === RPCValueTransfersStatusEnum.transmitted || - vt.status === RPCValueTransfersStatusEnum.mempool - ) { - currentValueTransferList.confirmations = 0; - } else if (vt.status === RPCValueTransfersStatusEnum.confirmed) { - currentValueTransferList.confirmations = - this.lastServerBlockHeight && this.lastServerBlockHeight >= this.lastWalletBlockHeight - ? this.lastServerBlockHeight - vt.blockheight + 1 - : this.lastWalletBlockHeight - vt.blockheight + 1; - } else { - // impossible case... I guess. - currentValueTransferList.confirmations = 0; - } - currentValueTransferList.status = vt.status; - currentValueTransferList.address = !vt.recipient_address ? undefined : vt.recipient_address; - currentValueTransferList.amount = (!vt.value ? 0 : vt.value) / 10 ** 8; - currentValueTransferList.memos = !vt.memos || vt.memos.length === 0 ? undefined : vt.memos; - currentValueTransferList.poolType = !vt.pool_received ? undefined : vt.pool_received; + currentValueTransferList.txid = vt.txid; + currentValueTransferList.time = vt.datetime; + currentValueTransferList.kind = + vt.kind === RPCValueTransfersKindEnum.memoToSelf + ? ValueTransferKindEnum.MemoToSelf + : vt.kind === RPCValueTransfersKindEnum.basic + ? ValueTransferKindEnum.SendToSelf + : vt.kind === RPCValueTransfersKindEnum.received + ? ValueTransferKindEnum.Received + : vt.kind === RPCValueTransfersKindEnum.sent + ? ValueTransferKindEnum.Sent + : vt.kind === RPCValueTransfersKindEnum.shield + ? ValueTransferKindEnum.Shield + : ValueTransferKindEnum.Rejection; + currentValueTransferList.fee = (!vt.transaction_fee ? 0 : vt.transaction_fee) / 10 ** 8; + currentValueTransferList.zecPrice = !vt.zec_price ? 0 : vt.zec_price; + if ( + vt.status === RPCValueTransfersStatusEnum.calculated || + vt.status === RPCValueTransfersStatusEnum.transmitted || + vt.status === RPCValueTransfersStatusEnum.mempool + ) { + currentValueTransferList.confirmations = 0; + } else if (vt.status === RPCValueTransfersStatusEnum.confirmed) { + currentValueTransferList.confirmations = + this.lastServerBlockHeight && this.lastServerBlockHeight >= this.lastWalletBlockHeight + ? this.lastServerBlockHeight - vt.blockheight + 1 + : this.lastWalletBlockHeight - vt.blockheight + 1; + } else { + // impossible case... I guess. + currentValueTransferList.confirmations = 0; + } + currentValueTransferList.status = vt.status; + currentValueTransferList.address = !vt.recipient_address ? undefined : vt.recipient_address; + currentValueTransferList.amount = (!vt.value ? 0 : vt.value) / 10 ** 8; + currentValueTransferList.memos = !vt.memos || vt.memos.length === 0 ? undefined : vt.memos; + currentValueTransferList.poolType = !vt.pool_received ? undefined : vt.pool_received; if (vt.txid.startsWith('xxxxxxxxx')) { console.log('valuetransfer zingolib: ', vt); @@ -1340,42 +1340,42 @@ export default class RPC { messagesJSON.value_transfers.forEach((m: RPCValueTransferType) => { const currentMessageList: ValueTransferType = {} as ValueTransferType; - currentMessageList.txid = m.txid; - currentMessageList.time = m.datetime; - currentMessageList.kind = - m.kind === RPCValueTransfersKindEnum.memoToSelf - ? ValueTransferKindEnum.MemoToSelf - : m.kind === RPCValueTransfersKindEnum.basic - ? ValueTransferKindEnum.SendToSelf - : m.kind === RPCValueTransfersKindEnum.received - ? ValueTransferKindEnum.Received - : m.kind === RPCValueTransfersKindEnum.sent - ? ValueTransferKindEnum.Sent - : m.kind === RPCValueTransfersKindEnum.shield - ? ValueTransferKindEnum.Shield - : ValueTransferKindEnum.Rejection; - currentMessageList.fee = (!m.transaction_fee ? 0 : m.transaction_fee) / 10 ** 8; - currentMessageList.zecPrice = !m.zec_price ? 0 : m.zec_price; - if ( - m.status === RPCValueTransfersStatusEnum.calculated || - m.status === RPCValueTransfersStatusEnum.transmitted || - m.status === RPCValueTransfersStatusEnum.mempool - ) { - currentMessageList.confirmations = 0; - } else if (m.status === RPCValueTransfersStatusEnum.confirmed) { - currentMessageList.confirmations = - this.lastServerBlockHeight && this.lastServerBlockHeight >= this.lastWalletBlockHeight - ? this.lastServerBlockHeight - m.blockheight + 1 - : this.lastWalletBlockHeight - m.blockheight + 1; - } else { - // impossible case... I guess. - currentMessageList.confirmations = 0; - } - currentMessageList.status = m.status; - currentMessageList.address = !m.recipient_address ? undefined : m.recipient_address; - currentMessageList.amount = (!m.value ? 0 : m.value) / 10 ** 8; - currentMessageList.memos = !m.memos || m.memos.length === 0 ? undefined : m.memos; - currentMessageList.poolType = !m.pool_received ? undefined : m.pool_received; + currentMessageList.txid = m.txid; + currentMessageList.time = m.datetime; + currentMessageList.kind = + m.kind === RPCValueTransfersKindEnum.memoToSelf + ? ValueTransferKindEnum.MemoToSelf + : m.kind === RPCValueTransfersKindEnum.basic + ? ValueTransferKindEnum.SendToSelf + : m.kind === RPCValueTransfersKindEnum.received + ? ValueTransferKindEnum.Received + : m.kind === RPCValueTransfersKindEnum.sent + ? ValueTransferKindEnum.Sent + : m.kind === RPCValueTransfersKindEnum.shield + ? ValueTransferKindEnum.Shield + : ValueTransferKindEnum.Rejection; + currentMessageList.fee = (!m.transaction_fee ? 0 : m.transaction_fee) / 10 ** 8; + currentMessageList.zecPrice = !m.zec_price ? 0 : m.zec_price; + if ( + m.status === RPCValueTransfersStatusEnum.calculated || + m.status === RPCValueTransfersStatusEnum.transmitted || + m.status === RPCValueTransfersStatusEnum.mempool + ) { + currentMessageList.confirmations = 0; + } else if (m.status === RPCValueTransfersStatusEnum.confirmed) { + currentMessageList.confirmations = + this.lastServerBlockHeight && this.lastServerBlockHeight >= this.lastWalletBlockHeight + ? this.lastServerBlockHeight - m.blockheight + 1 + : this.lastWalletBlockHeight - m.blockheight + 1; + } else { + // impossible case... I guess. + currentMessageList.confirmations = 0; + } + currentMessageList.status = m.status; + currentMessageList.address = !m.recipient_address ? undefined : m.recipient_address; + currentMessageList.amount = (!m.value ? 0 : m.value) / 10 ** 8; + currentMessageList.memos = !m.memos || m.memos.length === 0 ? undefined : m.memos; + currentMessageList.poolType = !m.pool_received ? undefined : m.pool_received; if (m.txid.startsWith('xxxxxxxxx')) { console.log('valuetransfer messages zingolib: ', m); diff --git a/components/Messages/components/MessageList.tsx b/components/Messages/components/MessageList.tsx index e2d901734..dea0dac6d 100644 --- a/components/Messages/components/MessageList.tsx +++ b/components/Messages/components/MessageList.tsx @@ -98,7 +98,7 @@ const MessageList: React.FunctionComponent = ({ addLastSnackbar, addressBook, sendPageState, - uaAddress, + uOrchardAddress, selectServer, netInfo, info, @@ -130,6 +130,7 @@ const MessageList: React.FunctionComponent = ({ const [memoFieldHeight, setMemoFieldHeight] = useState(48 + 30); const [keyboardVisible, setKeyboardVisible] = useState(false); const [spendable, setSpendable] = useState(0); + const [uOrchardAddressContact, setUOrchardAddressContact] = useState(''); const scrollViewRef = useRef(null); @@ -175,11 +176,11 @@ const MessageList: React.FunctionComponent = ({ return ( addr === address || memoAddress === address || - (uOrchardAddress && addr === uOrchardAddress) || - (uOrchardAddress && memoAddress === uOrchardAddress) + (uOrchardAddressContact && addr === uOrchardAddressContact) || + (uOrchardAddressContact && memoAddress === uOrchardAddressContact) ); }, - [address, uOrchardAddress], + [address, uOrchardAddressContact], ); const anonymousFilter = useMemo( @@ -198,27 +199,11 @@ const MessageList: React.FunctionComponent = ({ return ( addr === address || memoAddress === address || - (uOrchardAddress && addr === uOrchardAddress) || - (uOrchardAddress && memoAddress === uOrchardAddress) + (uOrchardAddressContact && addr === uOrchardAddressContact) || + (uOrchardAddressContact && memoAddress === uOrchardAddressContact) ); }, - [address, uOrchardAddress], - ); - - const anonymousFilter = useMemo( - () => (addr: string | undefined, memos: string[] | undefined) => { - if (!memos) { - return false; - } - const memoTotal = memos.join('\n'); - let memoAddress; - if (memoTotal.includes('\nReply to: \n')) { - let memoArray = memoTotal.split('\nReply to: \n'); - memoAddress = memoArray.pop(); - } - return !addr && !memoAddress; - }, - [], + [address, uOrchardAddressContact], ); const fetchMessagesFiltered = useMemo(() => { @@ -250,11 +235,11 @@ const MessageList: React.FunctionComponent = ({ // separately in one UA (only orchard), and all the messages in the another UA (full) let contact = addressBook.filter((ab: AddressBookFileClass) => ab.address === address); if (contact.length === 1) { - setUOrchardAddress(contact[0].uOrchardAddress ? contact[0].uOrchardAddress : ''); + setUOrchardAddressContact(contact[0].uOrchardAddress ? contact[0].uOrchardAddress : ''); } else { contact = addressBook.filter((ab: AddressBookFileClass) => ab.uOrchardAddress === address); if (contact.length === 1) { - setUOrchardAddress(contact[0].address); + setUOrchardAddressContact(contact[0].address); } } const vtf = fetchMessagesFiltered; @@ -325,7 +310,7 @@ const MessageList: React.FunctionComponent = ({ }, []); const countMemoBytes = (memo: string, includeUAMemo: boolean) => { - const len = Buffer.byteLength(memoTotal(memo, includeUAMemo, uaAddress), 'utf8'); + const len = Buffer.byteLength(memoTotal(memo, includeUAMemo, uOrchardAddress), 'utf8'); return len; }; @@ -336,7 +321,7 @@ const MessageList: React.FunctionComponent = ({ useEffect(() => { if (sendPageState.toaddr.memo) { const len = Buffer.byteLength( - memoTotal(sendPageState.toaddr.memo, sendPageState.toaddr.includeUAMemo, uaAddress), + memoTotal(sendPageState.toaddr.memo, sendPageState.toaddr.includeUAMemo, uOrchardAddress), 'utf8', ); if (len > GlobalConst.memoMaxLength) { @@ -347,7 +332,7 @@ const MessageList: React.FunctionComponent = ({ } else { setValidMemo(0); } - }, [memoTotal, sendPageState.toaddr.includeUAMemo, sendPageState.toaddr.memo, uaAddress]); + }, [memoTotal, sendPageState.toaddr.includeUAMemo, sendPageState.toaddr.memo, uOrchardAddress]); const loadMoreClicked = useCallback(() => { setNumVt(numVt + 50);