From 4de925d23f4da801d3be32a89b2a44d8d3ed5e84 Mon Sep 17 00:00:00 2001 From: lserra-iov Date: Tue, 31 Oct 2023 15:10:15 -0300 Subject: [PATCH] Register txs --- src/common/services/ApiService.ts | 14 ++++++++++ .../ledger/ConfirmLedgerTransaction.vue | 7 +++++ .../liquality/ConfirmLiqualityTransaction.vue | 7 +++++ .../trezor/ConfirmTrezorTransaction.vue | 7 +++++ src/pegout/components/PegOutForm.vue | 26 ++++++++++++++++++- 5 files changed, 60 insertions(+), 1 deletion(-) diff --git a/src/common/services/ApiService.ts b/src/common/services/ApiService.ts index 1e91f1475..f9a64cc17 100644 --- a/src/common/services/ApiService.ts +++ b/src/common/services/ApiService.ts @@ -193,4 +193,18 @@ export default class ApiService { .catch(reject); }); } + + static registerTx({ + txHash, type, value, wallet, fee, + }: { + txHash: string, type: string, value: number, wallet: string, fee: number, + }): Promise { + return new Promise((resolve, reject) => { + axios.post(`${ApiService.baseURL}/register`, { + txHash, type, value, wallet, fee, + }) + .then(() => resolve()) + .catch(reject); + }); + } } diff --git a/src/pegin/components/ledger/ConfirmLedgerTransaction.vue b/src/pegin/components/ledger/ConfirmLedgerTransaction.vue index 0e41b037f..95fd26bfd 100644 --- a/src/pegin/components/ledger/ConfirmLedgerTransaction.vue +++ b/src/pegin/components/ledger/ConfirmLedgerTransaction.vue @@ -273,6 +273,13 @@ export default defineComponent({ .broadcast(tx.signedTx)) .then((id) => { txId.value = id; + ApiService.registerTx({ + txHash: txId.value, + type: 'pegin', + value: Number(pegInTxState.value.amountToTransfer.toBTCTrimmedString()), + wallet: 'ledger', + fee: Number(safeFee.value.toBTCTrimmedString()), + }); }) .catch((err) => { props.confirmTxState?.send('error'); diff --git a/src/pegin/components/liquality/ConfirmLiqualityTransaction.vue b/src/pegin/components/liquality/ConfirmLiqualityTransaction.vue index a0c354cb7..3c64cc335 100644 --- a/src/pegin/components/liquality/ConfirmLiqualityTransaction.vue +++ b/src/pegin/components/liquality/ConfirmLiqualityTransaction.vue @@ -227,6 +227,13 @@ export default defineComponent({ .broadcast(liqualitySignedTx.signedTx)) .then((txHash) => { txId.value = txHash; + ApiService.registerTx({ + txHash: txId.value, + type: 'pegin', + value: Number(pegInTxState.value.amountToTransfer.toBTCTrimmedString()), + wallet: 'liquality', + fee: Number(safeFee.value.toBTCTrimmedString()), + }); }) .catch((err) => { props.confirmTxState.send('error'); diff --git a/src/pegin/components/trezor/ConfirmTrezorTransaction.vue b/src/pegin/components/trezor/ConfirmTrezorTransaction.vue index 5447b6d5b..30ca1492c 100644 --- a/src/pegin/components/trezor/ConfirmTrezorTransaction.vue +++ b/src/pegin/components/trezor/ConfirmTrezorTransaction.vue @@ -254,6 +254,13 @@ export default defineComponent({ .broadcast(trezorSignedTx.payload.serializedTx)) .then((id) => { txId.value = id; + ApiService.registerTx({ + txHash: txId.value, + type: 'pegin', + value: Number(pegInTxState.value.amountToTransfer.toBTCTrimmedString()), + wallet: 'trezor', + fee: Number(safeFee.value.toBTCTrimmedString()), + }); }) .catch((err) => { props.confirmTxState.send('error'); diff --git a/src/pegout/components/PegOutForm.vue b/src/pegout/components/PegOutForm.vue index c83e02a19..8c7f7c21c 100644 --- a/src/pegout/components/PegOutForm.vue +++ b/src/pegout/components/PegOutForm.vue @@ -128,6 +128,7 @@ import { } from '@/common/types'; import TxSummaryFixed from '@/common/components/exchange/TxSummaryFixed.vue'; import { useAction, useGetter, useState } from '@/common/store/helper'; +import { ApiService } from '@/common/services'; export default defineComponent({ name: 'PegOutForm', @@ -161,7 +162,23 @@ export default defineComponent({ const estimatedBtcToReceive = useGetter('pegOutTx', constants.PEGOUT_TX_GET_ESTIMATED_BTC_TO_RECEIVE); // eslint-disable-next-line max-len const isLedgerConnected = useGetter('web3Session', constants.SESSION_IS_LEDGER_CONNECTED); - + const isTrezorConnected = useGetter('web3Session', constants.SESSION_IS_TREZOR_CONNECTED); + const isMetamaskConnected = useGetter('web3Session', constants.SESSION_IS_METAMASK_CONNECTED); + const currentWallet = computed(() => { + if (isLedgerConnected.value) { + return 'ledger'; + } + if (isTrezorConnected.value) { + return 'trezor'; + } + if (isMetamaskConnected.value) { + return 'metamask'; + } + if (injectedProvider.value === appConstants.RLOGIN_LIQUALITY_WALLET) { + return 'liquality'; + } + return ''; + }); const authorizedWalletToSignMessage = computed( (): boolean => injectedProvider.value === appConstants.RLOGIN_METAMASK_WALLET || isLedgerConnected.value @@ -203,6 +220,13 @@ export default defineComponent({ pegOutFormState.value.send('loading'); sendTx() .then(() => { + ApiService.registerTx({ + txHash: pegOutTxState.value.txHash as string, + type: 'pegout', + value: Number(pegOutTxState.value.amountToTransfer.toRBTCTrimmedString()), + wallet: currentWallet.value, + fee: Number(pegOutTxState.value.calculatedFee.toRBTCTrimmedString()), + }); changePage(); }) .catch((error:Error) => {