feat(MintTokensSettingsPanel): replace outdated sign popup with new one for burn and destruct
This commit is contained in:
parent
3f012bf2a8
commit
1825658f01
|
@ -721,6 +721,7 @@ StackView {
|
||||||
|
|
||||||
SelfDestructFeesSubscriber {
|
SelfDestructFeesSubscriber {
|
||||||
id: remotelyDestructFeeSubscriber
|
id: remotelyDestructFeeSubscriber
|
||||||
|
|
||||||
walletsAndAmounts: remotelyDestructPopup.selectedWalletsAndAmounts
|
walletsAndAmounts: remotelyDestructPopup.selectedWalletsAndAmounts
|
||||||
accountAddress: remotelyDestructPopup.selectedAccount
|
accountAddress: remotelyDestructPopup.selectedAccount
|
||||||
tokenKey: view.token.key
|
tokenKey: view.token.key
|
||||||
|
@ -729,58 +730,11 @@ StackView {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
AlertPopup {
|
|
||||||
id: alertPopup
|
|
||||||
|
|
||||||
title: qsTr("Remotely destruct %n token(s)", "",
|
|
||||||
remotelyDestructPopup.tokenCount)
|
|
||||||
acceptBtnText: qsTr("Remotely destruct")
|
|
||||||
alertText: qsTr("Continuing will destroy tokens held by members and revoke any permissions they are given. To undo you will have to issue them new tokens.")
|
|
||||||
|
|
||||||
onAcceptClicked: {
|
|
||||||
signTransactionPopup.isRemotelyDestructTransaction = true
|
|
||||||
signTransactionPopup.open()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
SignTokenTransactionsPopup {
|
|
||||||
id: signTransactionPopup
|
|
||||||
|
|
||||||
property bool isRemotelyDestructTransaction
|
|
||||||
property var feeSubscriber: isRemotelyDestructTransaction
|
|
||||||
? remotelyDestructPopup.feeSubscriber
|
|
||||||
: burnTokensPopup.feeSubscriber
|
|
||||||
|
|
||||||
readonly property string tokenKey: tokenViewPage.token.key
|
|
||||||
|
|
||||||
function signTransaction() {
|
|
||||||
if(signTransactionPopup.isRemotelyDestructTransaction)
|
|
||||||
root.remotelyDestructCollectibles(footer.walletsAndAmounts,
|
|
||||||
tokenKey, footer.accountAddress)
|
|
||||||
else
|
|
||||||
root.burnToken(tokenKey, footer.burnAmount, footer.accountAddress)
|
|
||||||
|
|
||||||
footer.closePopups()
|
|
||||||
}
|
|
||||||
|
|
||||||
title: signTransactionPopup.isRemotelyDestructTransaction
|
|
||||||
? qsTr("Sign transaction - Self-destruct %1 tokens").arg(tokenName)
|
|
||||||
: qsTr("Sign transaction - Burn %1 tokens").arg(tokenName)
|
|
||||||
|
|
||||||
tokenName: footer.token.name
|
|
||||||
accountName: footer.token.accountName
|
|
||||||
networkName: footer.token.chainName
|
|
||||||
feeText: feeSubscriber.feeText
|
|
||||||
isFeeLoading: feeSubscriber.feeText === "" && feeSubscriber.feeErrorText === ""
|
|
||||||
errorText: feeSubscriber.feeErrorText
|
|
||||||
|
|
||||||
onSignTransactionClicked: signTransaction()
|
|
||||||
}
|
|
||||||
|
|
||||||
BurnTokensPopup {
|
BurnTokensPopup {
|
||||||
id: burnTokensPopup
|
id: burnTokensPopup
|
||||||
|
|
||||||
property alias feeSubscriber: burnTokensFeeSubscriber
|
property alias feeSubscriber: burnTokensFeeSubscriber
|
||||||
|
|
||||||
communityName: root.communityName
|
communityName: root.communityName
|
||||||
tokenName: footer.token.name
|
tokenName: footer.token.name
|
||||||
remainingTokens: footer.token.remainingTokens
|
remainingTokens: footer.token.remainingTokens
|
||||||
|
@ -805,6 +759,7 @@ StackView {
|
||||||
|
|
||||||
BurnTokenFeesSubscriber {
|
BurnTokenFeesSubscriber {
|
||||||
id: burnTokensFeeSubscriber
|
id: burnTokensFeeSubscriber
|
||||||
|
|
||||||
readonly property var updateAmount: Backpressure.debounce(burnTokensFeeSubscriber, 500, () => {
|
readonly property var updateAmount: Backpressure.debounce(burnTokensFeeSubscriber, 500, () => {
|
||||||
burnTokensFeeSubscriber.amount = burnTokensPopup.amountToBurn
|
burnTokensFeeSubscriber.amount = burnTokensPopup.amountToBurn
|
||||||
})
|
})
|
||||||
|
@ -815,6 +770,64 @@ StackView {
|
||||||
Component.onCompleted: root.registerBurnTokenFeesSubscriber(burnTokensFeeSubscriber)
|
Component.onCompleted: root.registerBurnTokenFeesSubscriber(burnTokensFeeSubscriber)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
AlertPopup {
|
||||||
|
id: alertPopup
|
||||||
|
|
||||||
|
title: qsTr("Remotely destruct %n token(s)", "",
|
||||||
|
remotelyDestructPopup.tokenCount)
|
||||||
|
acceptBtnText: qsTr("Remotely destruct")
|
||||||
|
alertText: qsTr("Continuing will destroy tokens held by members and revoke any permissions they are given. To undo you will have to issue them new tokens.")
|
||||||
|
|
||||||
|
onAcceptClicked: {
|
||||||
|
signTransactionPopup.isRemotelyDestructTransaction = true
|
||||||
|
signTransactionPopup.open()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
SignMultiTokenTransactionsPopup {
|
||||||
|
id: signTransactionPopup
|
||||||
|
|
||||||
|
property bool isRemotelyDestructTransaction
|
||||||
|
|
||||||
|
readonly property string tokenName: footer.token.name
|
||||||
|
|
||||||
|
title: isRemotelyDestructTransaction
|
||||||
|
? qsTr("Sign transaction - Remotely destruct %1 token").arg(tokenName)
|
||||||
|
: qsTr("Sign transaction - Burn %1 tokens").arg(tokenName)
|
||||||
|
|
||||||
|
accountName: footer.token.accountName
|
||||||
|
|
||||||
|
totalFeeText: isRemotelyDestructTransaction
|
||||||
|
? remotelyDestructPopup.feeText
|
||||||
|
: burnTokensPopup.feeText
|
||||||
|
|
||||||
|
errorText: isRemotelyDestructTransaction
|
||||||
|
? remotelyDestructPopup.feeErrorText
|
||||||
|
: burnTokensPopup.feeErrorText
|
||||||
|
|
||||||
|
model: QtObject {
|
||||||
|
readonly property string title:
|
||||||
|
signTransactionPopup.isRemotelyDestructTransaction
|
||||||
|
? qsTr("Remotely destruct %Ln %1 token(s) on %2", "",
|
||||||
|
remotelyDestructPopup.tokenCount)
|
||||||
|
.arg(remotelyDestructPopup.collectibleName)
|
||||||
|
.arg(remotelyDestructPopup.chainName)
|
||||||
|
: burnTokensPopup.feeLabel
|
||||||
|
readonly property string feeText: signTransactionPopup.totalFeeText
|
||||||
|
readonly property bool error: signTransactionPopup.errorText !== ""
|
||||||
|
}
|
||||||
|
|
||||||
|
onSignTransactionClicked: {
|
||||||
|
if(signTransactionPopup.isRemotelyDestructTransaction)
|
||||||
|
root.remotelyDestructCollectibles(footer.walletsAndAmounts,
|
||||||
|
tokenKey, footer.accountAddress)
|
||||||
|
else
|
||||||
|
root.burnToken(tokenKey, footer.burnAmount, footer.accountAddress)
|
||||||
|
|
||||||
|
footer.closePopups()
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
AlertPopup {
|
AlertPopup {
|
||||||
|
|
Loading…
Reference in New Issue