From 21cf832b101b187a4f369b84c75f8ed415dd8976 Mon Sep 17 00:00:00 2001 From: pandablue0809 Date: Wed, 20 Aug 2025 17:16:58 +0900 Subject: [PATCH 01/15] Add NFT Transfer Option --- components/SignForm.js | 53 ++++++++++++++++++------- components/SignForms/NftTransfer.js | 61 ++++++++++++++++++++++++++++- 2 files changed, 99 insertions(+), 15 deletions(-) diff --git a/components/SignForm.js b/components/SignForm.js index bf701f7a4..23a8f7113 100644 --- a/components/SignForm.js +++ b/components/SignForm.js @@ -171,15 +171,30 @@ export default function SignForm({ } if (signRequest.action === 'nftTransfer') { - tx.Amount = '0' - if (!agreedToRisks) { - setScreen('nftTransfer') - return + if (tx.TransactionType === 'Remit') { + // For Remit transactions, no Amount field is needed + if (!agreedToRisks) { + setScreen('nftTransfer') + return + } else { + if (!signRequest.request?.Destination) { + setStatus(t('form.error.address-empty')) + setFormError(true) + return + } + } } else { - if (!signRequest.request?.Destination) { - setStatus(t('form.error.address-empty')) - setFormError(true) + // For regular NFT transfer offers + tx.Amount = '0' + if (!agreedToRisks) { + setScreen('nftTransfer') return + } else { + if (!signRequest.request?.Destination) { + setStatus(t('form.error.address-empty')) + setFormError(true) + return + } } } } @@ -904,13 +919,23 @@ export default function SignForm({ const xls35Sell = signRequest?.request?.TransactionType === 'URITokenCreateSellOffer' const checkBoxText = (screen, signRequest) => { - if (screen === 'nftTransfer') - return ( - - I'm offering that NFT for FREE to the Destination account,{' '} - the destination account would need to accept the NFT transfer. - - ) + if (screen === 'nftTransfer') { + if (signRequest.request?.TransactionType === 'Remit') { + return ( + + I'm sending this NFT directly to the Destination account using Remit.{' '} + The destination will receive the NFT immediately, and I will pay for the NFT reserve requirements. + + ) + } else { + return ( + + I'm offering that NFT for FREE to the Destination account,{' '} + the destination account would need to accept the NFT transfer. + + ) + } + } if (screen === 'NFTokenBurn') return t('signin.confirm.nft-burn') if (screen === 'NFTokenModify') return 'I understand that URI will be updated for this NFT.' diff --git a/components/SignForms/NftTransfer.js b/components/SignForms/NftTransfer.js index 2eba233d2..59f4fb3f6 100644 --- a/components/SignForms/NftTransfer.js +++ b/components/SignForms/NftTransfer.js @@ -1,9 +1,48 @@ import { useTranslation } from 'next-i18next' -import { isAddressValid } from '../../utils' +import { useState, useEffect } from 'react' +import { isAddressValid, xahauNetwork } from '../../utils' import AddressInput from '../UI/AddressInput' +import CheckBox from '../UI/CheckBox' +import axios from 'axios' export default function NftTransfer({ setSignRequest, signRequest, setStatus, setFormError }) { const { t } = useTranslation() + const [useRemit, setUseRemit] = useState(false) + const [destinationRemitDisabled, setDestinationRemitDisabled] = useState(false) + + // Check if destination allows incoming remit when address changes + useEffect(() => { + const checkDestinationRemit = async () => { + if (!signRequest.request?.Destination || !xahauNetwork) { + setDestinationRemitDisabled(false) + return + } + + try { + const response = await axios(`/v2/address/${signRequest.request.Destination}?ledgerInfo=true`) + const accountData = response?.data + + if (accountData?.ledgerInfo?.flags) { + const flags = accountData.ledgerInfo.flags + const disallowIncomingRemit = flags.disallowIncomingRemit + setDestinationRemitDisabled(disallowIncomingRemit) + } else { + setDestinationRemitDisabled(false) + } + } catch (error) { + console.error('Error checking destination remit status:', error) + setDestinationRemitDisabled(false) + } + } + + checkDestinationRemit() + }, [signRequest.request?.Destination]) + + useEffect(() => { + if (xahauNetwork) { + setSignRequest({ ...signRequest, request: { ...signRequest.request, TransactionType: useRemit ? 'Remit' : 'URITokenCreateSellOffer' } }) + } + }, [useRemit]) const onAddressChange = (value) => { let newRequest = signRequest @@ -33,6 +72,26 @@ export default function NftTransfer({ setSignRequest, signRequest, setStatus, se hideButton={true} /> + + {/* Remit option for Xahau network */} + {xahauNetwork && ( +
+ + Use Remit (Xahau) + {destinationRemitDisabled && ( + + {' '} + (Disabled - destination has incoming remit disabled) + + )} + +
+ )} ) } From ca1dc8899b7550ecf2e03e08034852b05a8de73d Mon Sep 17 00:00:00 2001 From: pandablue0809 Date: Wed, 20 Aug 2025 17:17:54 +0900 Subject: [PATCH 02/15] Add NFT Transfer Option --- components/SignForms/NftTransfer.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/components/SignForms/NftTransfer.js b/components/SignForms/NftTransfer.js index 59f4fb3f6..a6128a336 100644 --- a/components/SignForms/NftTransfer.js +++ b/components/SignForms/NftTransfer.js @@ -36,12 +36,14 @@ export default function NftTransfer({ setSignRequest, signRequest, setStatus, se } checkDestinationRemit() + //eslint-disable-next-line react-hooks/exhaustive-deps }, [signRequest.request?.Destination]) useEffect(() => { if (xahauNetwork) { setSignRequest({ ...signRequest, request: { ...signRequest.request, TransactionType: useRemit ? 'Remit' : 'URITokenCreateSellOffer' } }) } + //eslint-disable-next-line react-hooks/exhaustive-deps }, [useRemit]) const onAddressChange = (value) => { From 11750b594dc1fcc0c183539f07f3314097f9c2d9 Mon Sep 17 00:00:00 2001 From: pandablue0809 Date: Wed, 17 Sep 2025 08:40:59 +0900 Subject: [PATCH 03/15] optimise code --- components/SignForm.js | 30 ++++++++---------------------- 1 file changed, 8 insertions(+), 22 deletions(-) diff --git a/components/SignForm.js b/components/SignForm.js index 23a8f7113..cc09e0909 100644 --- a/components/SignForm.js +++ b/components/SignForm.js @@ -171,30 +171,16 @@ export default function SignForm({ } if (signRequest.action === 'nftTransfer') { - if (tx.TransactionType === 'Remit') { - // For Remit transactions, no Amount field is needed - if (!agreedToRisks) { - setScreen('nftTransfer') - return - } else { - if (!signRequest.request?.Destination) { - setStatus(t('form.error.address-empty')) - setFormError(true) - return - } - } + if (!tx.TransactionType === 'Remit') tx.Amount = '0' + // For Remit transactions, no Amount field is needed + if (!agreedToRisks) { + setScreen('nftTransfer') + return } else { - // For regular NFT transfer offers - tx.Amount = '0' - if (!agreedToRisks) { - setScreen('nftTransfer') + if (!signRequest.request?.Destination) { + setStatus(t('form.error.address-empty')) + setFormError(true) return - } else { - if (!signRequest.request?.Destination) { - setStatus(t('form.error.address-empty')) - setFormError(true) - return - } } } } From 854375c79992334ca9595552c6295de6f9c00a7f Mon Sep 17 00:00:00 2001 From: pandablue0809 Date: Fri, 19 Sep 2025 04:19:40 +0900 Subject: [PATCH 04/15] fix remit --- components/SignForms/NftTransfer.js | 3 +++ components/Transaction/TransactionRemit.js | 9 ++++----- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/components/SignForms/NftTransfer.js b/components/SignForms/NftTransfer.js index a6128a336..d1c1a16b5 100644 --- a/components/SignForms/NftTransfer.js +++ b/components/SignForms/NftTransfer.js @@ -42,6 +42,9 @@ export default function NftTransfer({ setSignRequest, signRequest, setStatus, se useEffect(() => { if (xahauNetwork) { setSignRequest({ ...signRequest, request: { ...signRequest.request, TransactionType: useRemit ? 'Remit' : 'URITokenCreateSellOffer' } }) + if(useRemit) { + setSignRequest({ ...signRequest, request: { ...signRequest.request, URITokenIDs: [signRequest.request.URITokenID] } }) + } } //eslint-disable-next-line react-hooks/exhaustive-deps }, [useRemit]) diff --git a/components/Transaction/TransactionRemit.js b/components/Transaction/TransactionRemit.js index 29a4ca669..eba5bb6ec 100644 --- a/components/Transaction/TransactionRemit.js +++ b/components/Transaction/TransactionRemit.js @@ -214,14 +214,13 @@ export const TransactionRemit = ({ data, pageFiatRate, selectedCurrency }) => { )} - - Delivered - {destinationBalanceChangesList.map((change, index) => { + {/* + {destinationBalanceChangesList?.map((change, index) => { return
})} -
+
*/} - {destinationBalanceChangesList.map((change, index) => ( + {destinationBalanceChangesList?.map((change, index) => (
0 ? 'green' : 'red')}> {amountFormat(optionalAbsAmount(change))} From 68925ec72777263038e5f448304e10bb31c2dadb Mon Sep 17 00:00:00 2001 From: pandablue0809 Date: Sat, 22 Nov 2025 01:54:42 +0900 Subject: [PATCH 05/15] remove asking amount --- components/SignForm.js | 8 +++++--- components/SignForms/NftTransfer.js | 6 ++---- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/components/SignForm.js b/components/SignForm.js index 98466a421..c165bef01 100644 --- a/components/SignForm.js +++ b/components/SignForm.js @@ -90,6 +90,7 @@ export default function SignForm({ const [erase, setErase] = useState(false) const [awaiting, setAwaiting] = useState(false) const [preparedTx, setPreparedTx] = useState(null) + const [autoSend, setAutoSend] = useState(false) const [rewardRate, setRewardRate] = useState() const [rewardDelay, setRewardDelay] = useState() @@ -97,7 +98,7 @@ export default function SignForm({ const [choosenWallet, setChoosenWallet] = useState(null) useEffect(() => { - if (!signRequest) return + if (!signRequest || autoSend) return //deeplink doesnt work on mobiles when it's not in the onClick event if (!isMobile) { txSend() @@ -171,8 +172,8 @@ export default function SignForm({ } if (signRequest.action === 'nftTransfer') { - if (!tx.TransactionType === 'Remit') tx.Amount = '0' - // For Remit transactions, no Amount field is needed + tx.Amount = '0' + // For Remitf transactions, no Amount field is needed if (!agreedToRisks) { setScreen('nftTransfer') return @@ -1010,6 +1011,7 @@ export default function SignForm({ setSignRequest={setSignRequest} setStatus={setStatus} setFormError={setFormError} + setAutoSend={setAutoSend} /> )} diff --git a/components/SignForms/NftTransfer.js b/components/SignForms/NftTransfer.js index d1c1a16b5..1ded388ea 100644 --- a/components/SignForms/NftTransfer.js +++ b/components/SignForms/NftTransfer.js @@ -5,7 +5,7 @@ import AddressInput from '../UI/AddressInput' import CheckBox from '../UI/CheckBox' import axios from 'axios' -export default function NftTransfer({ setSignRequest, signRequest, setStatus, setFormError }) { +export default function NftTransfer({ setSignRequest, signRequest, setStatus, setFormError, setAutoSend }) { const { t } = useTranslation() const [useRemit, setUseRemit] = useState(false) const [destinationRemitDisabled, setDestinationRemitDisabled] = useState(false) @@ -41,10 +41,8 @@ export default function NftTransfer({ setSignRequest, signRequest, setStatus, se useEffect(() => { if (xahauNetwork) { + setAutoSend(true) setSignRequest({ ...signRequest, request: { ...signRequest.request, TransactionType: useRemit ? 'Remit' : 'URITokenCreateSellOffer' } }) - if(useRemit) { - setSignRequest({ ...signRequest, request: { ...signRequest.request, URITokenIDs: [signRequest.request.URITokenID] } }) - } } //eslint-disable-next-line react-hooks/exhaustive-deps }, [useRemit]) From 17b647af58e3e397e80e23a145e06f54cafe8dc0 Mon Sep 17 00:00:00 2001 From: pandablue0809 Date: Mon, 24 Nov 2025 23:15:07 +0900 Subject: [PATCH 06/15] remove Amount and URITokenID in Remit --- components/SignForm.js | 4 +++- components/SignForms/NftTransfer.js | 7 ++++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/components/SignForm.js b/components/SignForm.js index c165bef01..ab287e2c9 100644 --- a/components/SignForm.js +++ b/components/SignForm.js @@ -172,7 +172,9 @@ export default function SignForm({ } if (signRequest.action === 'nftTransfer') { - tx.Amount = '0' + if (tx.TransactionType !== 'Remit') { + tx.Amount = '0' + } // For Remitf transactions, no Amount field is needed if (!agreedToRisks) { setScreen('nftTransfer') diff --git a/components/SignForms/NftTransfer.js b/components/SignForms/NftTransfer.js index 1ded388ea..3cc10aef0 100644 --- a/components/SignForms/NftTransfer.js +++ b/components/SignForms/NftTransfer.js @@ -42,7 +42,12 @@ export default function NftTransfer({ setSignRequest, signRequest, setStatus, se useEffect(() => { if (xahauNetwork) { setAutoSend(true) - setSignRequest({ ...signRequest, request: { ...signRequest.request, TransactionType: useRemit ? 'Remit' : 'URITokenCreateSellOffer' } }) + const newRequest = { ...signRequest.request, TransactionType: useRemit ? 'Remit' : 'URITokenCreateSellOffer' } + if (useRemit && newRequest.URITokenID) { + delete newRequest.URITokenID + delete newRequest.Amount + } + setSignRequest({ ...signRequest, request: newRequest }) } //eslint-disable-next-line react-hooks/exhaustive-deps }, [useRemit]) From 809cd9d7d73a9948afbf00562e3caceb9b2dee52 Mon Sep 17 00:00:00 2001 From: pandablue0809 Date: Thu, 27 Nov 2025 04:55:06 +0900 Subject: [PATCH 07/15] fix commet --- components/SignForm.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/SignForm.js b/components/SignForm.js index ab287e2c9..911cc05c7 100644 --- a/components/SignForm.js +++ b/components/SignForm.js @@ -175,7 +175,7 @@ export default function SignForm({ if (tx.TransactionType !== 'Remit') { tx.Amount = '0' } - // For Remitf transactions, no Amount field is needed + // For Remit transactions, no Amount field is needed if (!agreedToRisks) { setScreen('nftTransfer') return From 99508cfb758434cb11f37a7010d33df81807112a Mon Sep 17 00:00:00 2001 From: Viacheslav Bakshaev Date: Thu, 4 Dec 2025 12:33:11 +0100 Subject: [PATCH 08/15] remove autoSend --- components/SignForm.js | 8 ++++---- components/SignForms/NftTransfer.js | 21 ++++++--------------- 2 files changed, 10 insertions(+), 19 deletions(-) diff --git a/components/SignForm.js b/components/SignForm.js index 2616602d1..f7138e0e6 100644 --- a/components/SignForm.js +++ b/components/SignForm.js @@ -91,7 +91,6 @@ export default function SignForm({ const [erase, setErase] = useState(false) const [awaiting, setAwaiting] = useState(false) const [preparedTx, setPreparedTx] = useState(null) - const [autoSend, setAutoSend] = useState(false) const [rewardRate, setRewardRate] = useState() const [rewardDelay, setRewardDelay] = useState() @@ -99,7 +98,7 @@ export default function SignForm({ const [choosenWallet, setChoosenWallet] = useState(null) useEffect(() => { - if (!signRequest || autoSend) return + if (!signRequest) return //deeplink doesnt work on mobiles when it's not in the onClick event if (!isMobile) { txSend() @@ -916,7 +915,9 @@ export default function SignForm({ return ( I'm sending this NFT directly to the Destination account using Remit.{' '} - The destination will receive the NFT immediately, and I will pay for the NFT reserve requirements. + + The destination will receive the NFT immediately, and I will pay for the NFT reserve requirements. + ) } else { @@ -1016,7 +1017,6 @@ export default function SignForm({ setSignRequest={setSignRequest} setStatus={setStatus} setFormError={setFormError} - setAutoSend={setAutoSend} /> )} diff --git a/components/SignForms/NftTransfer.js b/components/SignForms/NftTransfer.js index 3cc10aef0..342200cd6 100644 --- a/components/SignForms/NftTransfer.js +++ b/components/SignForms/NftTransfer.js @@ -5,7 +5,7 @@ import AddressInput from '../UI/AddressInput' import CheckBox from '../UI/CheckBox' import axios from 'axios' -export default function NftTransfer({ setSignRequest, signRequest, setStatus, setFormError, setAutoSend }) { +export default function NftTransfer({ setSignRequest, signRequest, setStatus, setFormError }) { const { t } = useTranslation() const [useRemit, setUseRemit] = useState(false) const [destinationRemitDisabled, setDestinationRemitDisabled] = useState(false) @@ -41,14 +41,13 @@ export default function NftTransfer({ setSignRequest, signRequest, setStatus, se useEffect(() => { if (xahauNetwork) { - setAutoSend(true) const newRequest = { ...signRequest.request, TransactionType: useRemit ? 'Remit' : 'URITokenCreateSellOffer' } if (useRemit && newRequest.URITokenID) { delete newRequest.URITokenID delete newRequest.Amount } setSignRequest({ ...signRequest, request: newRequest }) - } + } //eslint-disable-next-line react-hooks/exhaustive-deps }, [useRemit]) @@ -80,22 +79,14 @@ export default function NftTransfer({ setSignRequest, signRequest, setStatus, se hideButton={true} /> - + {/* Remit option for Xahau network */} {xahauNetwork && (
- - Use Remit (Xahau) + + Use Remit {destinationRemitDisabled && ( - - {' '} - (Disabled - destination has incoming remit disabled) - + (Disabled - destination has incoming remit disabled) )}
From 273c62828085622ff1b57a8894d96ea0da177d26 Mon Sep 17 00:00:00 2001 From: Viacheslav Bakshaev Date: Thu, 4 Dec 2025 12:45:28 +0100 Subject: [PATCH 09/15] copy fix --- components/SignForm.js | 9 +-------- components/SignForms/NftTransfer.js | 4 ++-- 2 files changed, 3 insertions(+), 10 deletions(-) diff --git a/components/SignForm.js b/components/SignForm.js index f7138e0e6..d8c4b4842 100644 --- a/components/SignForm.js +++ b/components/SignForm.js @@ -912,14 +912,7 @@ export default function SignForm({ const checkBoxText = (screen, signRequest) => { if (screen === 'nftTransfer') { if (signRequest.request?.TransactionType === 'Remit') { - return ( - - I'm sending this NFT directly to the Destination account using Remit.{' '} - - The destination will receive the NFT immediately, and I will pay for the NFT reserve requirements. - - - ) + return "I'm sending this NFT for FREE." } else { return ( diff --git a/components/SignForms/NftTransfer.js b/components/SignForms/NftTransfer.js index 342200cd6..9487141e8 100644 --- a/components/SignForms/NftTransfer.js +++ b/components/SignForms/NftTransfer.js @@ -84,9 +84,9 @@ export default function NftTransfer({ setSignRequest, signRequest, setStatus, se {xahauNetwork && (
- Use Remit + Pay the NFT reserve for the destination (immediate NFT transfer). {destinationRemitDisabled && ( - (Disabled - destination has incoming remit disabled) + (Disabled - destination has incoming Remit disabled) )}
From 0bdd1acc667b4d23b8ff5ec2831927bf1eeff41c Mon Sep 17 00:00:00 2001 From: Viacheslav Bakshaev Date: Thu, 4 Dec 2025 12:58:18 +0100 Subject: [PATCH 10/15] don't show address error on the first load --- components/SignForms/NftTransfer.js | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/components/SignForms/NftTransfer.js b/components/SignForms/NftTransfer.js index 9487141e8..9f5f51a02 100644 --- a/components/SignForms/NftTransfer.js +++ b/components/SignForms/NftTransfer.js @@ -9,6 +9,7 @@ export default function NftTransfer({ setSignRequest, signRequest, setStatus, se const { t } = useTranslation() const [useRemit, setUseRemit] = useState(false) const [destinationRemitDisabled, setDestinationRemitDisabled] = useState(false) + const [touched, setTouched] = useState(false) // Check if destination allows incoming remit when address changes useEffect(() => { @@ -52,18 +53,30 @@ export default function NftTransfer({ setSignRequest, signRequest, setStatus, se }, [useRemit]) const onAddressChange = (value) => { - let newRequest = signRequest + if (!touched && !value) return + + setTouched(true) + + const newRequest = { ...signRequest, request: { ...signRequest.request } } + + if (!value) { + delete newRequest.request.Destination + setFormError(false) + setStatus('') + setSignRequest(newRequest) + return + } + if (isAddressValid(value)) { newRequest.request.Destination = value setFormError(false) setStatus('') } else { - if (newRequest.request.Destination) { - delete newRequest.request.Destination - } + delete newRequest.request.Destination setStatus(t('form.error.address-invalid')) setFormError(true) } + setSignRequest(newRequest) } From f856a8296b21ee85b2aa07e46b4699cbfedafa9b Mon Sep 17 00:00:00 2001 From: Viacheslav Bakshaev Date: Thu, 4 Dec 2025 13:04:59 +0100 Subject: [PATCH 11/15] check remit flags only on xahau --- components/SignForms/NftTransfer.js | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/components/SignForms/NftTransfer.js b/components/SignForms/NftTransfer.js index 9f5f51a02..2c6789341 100644 --- a/components/SignForms/NftTransfer.js +++ b/components/SignForms/NftTransfer.js @@ -11,8 +11,8 @@ export default function NftTransfer({ setSignRequest, signRequest, setStatus, se const [destinationRemitDisabled, setDestinationRemitDisabled] = useState(false) const [touched, setTouched] = useState(false) - // Check if destination allows incoming remit when address changes useEffect(() => { + // Check if destination allows incoming remit when address changes const checkDestinationRemit = async () => { if (!signRequest.request?.Destination || !xahauNetwork) { setDestinationRemitDisabled(false) @@ -36,7 +36,10 @@ export default function NftTransfer({ setSignRequest, signRequest, setStatus, se } } - checkDestinationRemit() + if (xahauNetwork) { + // check only on xahau network + checkDestinationRemit() + } //eslint-disable-next-line react-hooks/exhaustive-deps }, [signRequest.request?.Destination]) From 765adccb6c77c38e03c5b6fc9a56256cbf3616be Mon Sep 17 00:00:00 2001 From: Viacheslav Bakshaev Date: Thu, 4 Dec 2025 13:08:16 +0100 Subject: [PATCH 12/15] cleanup --- components/SignForms/NftTransfer.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/SignForms/NftTransfer.js b/components/SignForms/NftTransfer.js index 2c6789341..8cbabb72b 100644 --- a/components/SignForms/NftTransfer.js +++ b/components/SignForms/NftTransfer.js @@ -14,7 +14,7 @@ export default function NftTransfer({ setSignRequest, signRequest, setStatus, se useEffect(() => { // Check if destination allows incoming remit when address changes const checkDestinationRemit = async () => { - if (!signRequest.request?.Destination || !xahauNetwork) { + if (!signRequest.request?.Destination) { setDestinationRemitDisabled(false) return } From 9ecad363be283fa356cb4d72c6a5d7118cf733d6 Mon Sep 17 00:00:00 2001 From: Viacheslav Bakshaev Date: Thu, 4 Dec 2025 13:33:09 +0100 Subject: [PATCH 13/15] Fixes for Remit --- components/SignForms/NftTransfer.js | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/components/SignForms/NftTransfer.js b/components/SignForms/NftTransfer.js index 8cbabb72b..19dd37983 100644 --- a/components/SignForms/NftTransfer.js +++ b/components/SignForms/NftTransfer.js @@ -45,10 +45,21 @@ export default function NftTransfer({ setSignRequest, signRequest, setStatus, se useEffect(() => { if (xahauNetwork) { - const newRequest = { ...signRequest.request, TransactionType: useRemit ? 'Remit' : 'URITokenCreateSellOffer' } - if (useRemit && newRequest.URITokenID) { - delete newRequest.URITokenID + const newRequest = { ...signRequest.request } + if (useRemit) { + newRequest.TransactionType = 'Remit' + if (newRequest.URITokenID) { + newRequest.URITokenIDs = [newRequest.URITokenID] + delete newRequest.URITokenID + } delete newRequest.Amount + } else { + newRequest.TransactionType = 'URITokenCreateSellOffer' + newRequest.Amount = '0' + if (newRequest.URITokenIDs?.[0]) { + newRequest.URITokenID = newRequest.URITokenIDs[0] + delete newRequest.URITokenIDs + } } setSignRequest({ ...signRequest, request: newRequest }) } From cd2150e4c0235745f9314eac03bdb9c5380f79d9 Mon Sep 17 00:00:00 2001 From: Viacheslav Bakshaev Date: Thu, 4 Dec 2025 13:37:21 +0100 Subject: [PATCH 14/15] cleanup --- components/SignForm.js | 4 ---- 1 file changed, 4 deletions(-) diff --git a/components/SignForm.js b/components/SignForm.js index d8c4b4842..85c4f95b3 100644 --- a/components/SignForm.js +++ b/components/SignForm.js @@ -172,10 +172,6 @@ export default function SignForm({ } if (signRequest.action === 'nftTransfer') { - if (tx.TransactionType !== 'Remit') { - tx.Amount = '0' - } - // For Remit transactions, no Amount field is needed if (!agreedToRisks) { setScreen('nftTransfer') return From 05f2eb9221f39628910511c37dc11befc8fe0104 Mon Sep 17 00:00:00 2001 From: Viacheslav Bakshaev Date: Thu, 4 Dec 2025 13:37:54 +0100 Subject: [PATCH 15/15] fixup --- components/SignForm.js | 1 + 1 file changed, 1 insertion(+) diff --git a/components/SignForm.js b/components/SignForm.js index 85c4f95b3..d94cbd72d 100644 --- a/components/SignForm.js +++ b/components/SignForm.js @@ -172,6 +172,7 @@ export default function SignForm({ } if (signRequest.action === 'nftTransfer') { + tx.Amount = '0' if (!agreedToRisks) { setScreen('nftTransfer') return