mirror of
https://github.com/status-im/status-desktop.git
synced 2025-01-24 05:21:58 +00:00
eb7809ecdf
A reason why the crash is happening is actually previous step, when an user who is about to receive a transaction clicks "confirm and share address" button. In that moment instead of his address an empty js object is shared. After that clicking on the "sign and send" button, by sender, causes an app crash because transaction cannot be made using invalid address of the recipient. Fixes: #2718
126 lines
3.5 KiB
QML
126 lines
3.5 KiB
QML
import QtQuick 2.3
|
|
import "../../ChatComponents"
|
|
import "../../../../../../shared"
|
|
import "../../../../../../imports"
|
|
|
|
Item {
|
|
property int state: Constants.addressRequested
|
|
|
|
width: parent.width
|
|
height: childrenRect.height
|
|
|
|
Separator {
|
|
id: separator1
|
|
}
|
|
|
|
StyledText {
|
|
id: acceptText
|
|
color: Style.current.blue
|
|
//% "Accept and share address"
|
|
text: root.state === Constants.addressRequested ?
|
|
qsTrId("accept-and-share-address") :
|
|
//% "Accept and send"
|
|
qsTrId("accept-and-send")
|
|
padding: Style.current.halfPadding
|
|
horizontalAlignment: Text.AlignHCenter
|
|
wrapMode: Text.WordWrap
|
|
font.weight: Font.Medium
|
|
anchors.right: parent.right
|
|
anchors.left: parent.left
|
|
anchors.top: separator1.bottom
|
|
font.pixelSize: 15
|
|
|
|
MouseArea {
|
|
anchors.fill: parent
|
|
cursorShape: Qt.PointingHandCursor
|
|
onClicked: {
|
|
if (root.state === Constants.addressRequested) {
|
|
selectAccountModal.open()
|
|
} else if (root.state === Constants.transactionRequested) {
|
|
openPopup(signTxComponent)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
Separator {
|
|
id: separator2
|
|
anchors.topMargin: 0
|
|
anchors.top: acceptText.bottom
|
|
}
|
|
|
|
StyledText {
|
|
id: declineText
|
|
color: Style.current.blue
|
|
//% "Decline"
|
|
text: qsTrId("decline")
|
|
horizontalAlignment: Text.AlignHCenter
|
|
wrapMode: Text.WordWrap
|
|
font.weight: Font.Medium
|
|
anchors.right: parent.right
|
|
anchors.left: parent.left
|
|
padding: Style.current.halfPadding
|
|
anchors.top: separator2.bottom
|
|
font.pixelSize: 15
|
|
|
|
MouseArea {
|
|
anchors.fill: parent
|
|
cursorShape: Qt.PointingHandCursor
|
|
onClicked: {
|
|
if (root.state === Constants.addressRequested) {
|
|
chatsModel.transactions.declineAddressRequest(messageId)
|
|
} else if (root.state === Constants.transactionRequested) {
|
|
chatsModel.transactions.declineRequest(messageId)
|
|
}
|
|
|
|
}
|
|
}
|
|
}
|
|
|
|
ConfirmationDialog {
|
|
id: gasEstimateErrorPopup
|
|
height: 220
|
|
onConfirmButtonClicked: {
|
|
gasEstimateErrorPopup.close();
|
|
}
|
|
}
|
|
|
|
Component {
|
|
id: signTxComponent
|
|
SignTransactionModal {
|
|
onOpened: {
|
|
walletModel.gasView.getGasPricePredictions()
|
|
}
|
|
onClosed: {
|
|
destroy();
|
|
}
|
|
selectedAccount: {}
|
|
selectedRecipient: {
|
|
return {
|
|
address: commandParametersObject.address,
|
|
identicon: chatsModel.channelView.activeChannel.identicon,
|
|
name: chatsModel.channelView.activeChannel.name,
|
|
type: RecipientSelector.Type.Contact
|
|
}
|
|
}
|
|
selectedAsset: token
|
|
selectedAmount: tokenAmount
|
|
selectedFiatAmount: fiatValue
|
|
}
|
|
}
|
|
|
|
SelectAccountModal {
|
|
id: selectAccountModal
|
|
onSelectAndShareAddressButtonClicked: {
|
|
chatsModel.transactions.acceptAddressRequest(messageId, accountSelector.selectedAccount.address)
|
|
selectAccountModal.close()
|
|
}
|
|
}
|
|
}
|
|
|
|
/*##^##
|
|
Designer {
|
|
D{i:0;formeditorColor:"#ffffff";formeditorZoom:1.25}
|
|
}
|
|
##^##*/
|