diff --git a/frontend/src/components/WithdrawForm.vue b/frontend/src/components/WithdrawForm.vue
index ec0f52f1..2dba5ccb 100644
--- a/frontend/src/components/WithdrawForm.vue
+++ b/frontend/src/components/WithdrawForm.vue
@@ -14,17 +14,14 @@
@@ -123,25 +120,57 @@ export default defineComponent({
},
},
setup(data, { emit }) {
- const { NATIVE_TOKEN } = useWalletStore();
+ const { NATIVE_TOKEN, getPrivateKeys } = useWalletStore();
const { setIsInWithdrawFlow, isInWithdrawFlow } = useStatusesStore();
const { needSignature } = useWalletStore();
const content = ref(data.destinationAddress || '');
const nativeTokenSymbol = NATIVE_TOKEN.value.symbol;
+ const isSigningInProgress = ref(false);
function emitUpdateDestinationAddress(val: string) {
emit('updateDestinationAddress', val);
}
+ function initializeWithdraw() {
+ // Simple validation
+ if (!content.value || content.value.length <= 4) return;
+
+ emit('initializeWithdraw');
+ setIsInWithdrawFlow(true);
+ }
+
+ async function handleSubmit() {
+ if (needSignature.value) {
+ try {
+ isSigningInProgress.value = true;
+ const success = await getPrivateKeys();
+ if (success === 'denied') {
+ console.log('User denied signature request');
+ isSigningInProgress.value = false;
+ return;
+ }
+ initializeWithdraw();
+ } catch (error) {
+ console.error('Error getting private keys:', error);
+ } finally {
+ isSigningInProgress.value = false;
+ }
+ } else {
+ initializeWithdraw();
+ }
+ }
+
return {
- formatUnits,
- humanizeTokenAmount,
+ content,
emit,
emitUpdateDestinationAddress,
- content,
+ formatUnits,
+ handleSubmit,
+ humanizeTokenAmount,
+ isInWithdrawFlow,
+ isSigningInProgress,
nativeTokenSymbol,
needSignature,
- isInWithdrawFlow,
setIsInWithdrawFlow,
};
},
diff --git a/frontend/src/i18n/locales/en-US.json b/frontend/src/i18n/locales/en-US.json
index a238e011..e0758cd6 100644
--- a/frontend/src/i18n/locales/en-US.json
+++ b/frontend/src/i18n/locales/en-US.json
@@ -358,7 +358,7 @@
"view-on-explorer": "View on explorer"
},
"WithdrawForm": {
- "need-signature": "Need Signature",
+ "need-signature": "Sign",
"withdraw-address": "Enter address to withdraw funds to",
"address": "Address",
"fetching-fee-estimate": "Fetching fee estimate...",
diff --git a/frontend/src/i18n/locales/zh-CN.json b/frontend/src/i18n/locales/zh-CN.json
index def367d0..6234d9e8 100644
--- a/frontend/src/i18n/locales/zh-CN.json
+++ b/frontend/src/i18n/locales/zh-CN.json
@@ -357,7 +357,7 @@
"view-on-explorer": "在区块链浏览器上查看"
},
"WithdrawForm": {
- "need-signature": "此应用程序需要您的签名才能扫描您收到的资金",
+ "need-signature": "签名",
"withdraw-address": "输入提款地址",
"address": "地址",
"fetching-fee-estimate": "在接收费用估计...",