Skip to content

Commit 6d12445

Browse files
fbwoolfkyranjamie
authored andcommitted
fix: send transfer success response
1 parent 5871a95 commit 6d12445

File tree

2 files changed

+21
-3
lines changed

2 files changed

+21
-3
lines changed

src/app/pages/rpc-send-transfer/rpc-send-transfer-confirmation.tsx

+20-2
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import { decodeBitcoinTx } from '@shared/crypto/bitcoin/bitcoin.utils';
77
import { logger } from '@shared/logger';
88
import { createMoney, createMoneyFromDecimal } from '@shared/models/money.model';
99
import { RouteUrls } from '@shared/route-urls';
10+
import { makeRpcSuccessResponse } from '@shared/rpc/rpc-methods';
1011

1112
import { useAnalytics } from '@app/common/hooks/analytics/use-analytics';
1213
import { baseCurrencyAmountInQuote } from '@app/common/money/calculate-money';
@@ -19,6 +20,7 @@ import { useCurrentBtcNativeSegwitAccountAddressIndexZero } from '@app/store/acc
1920

2021
import { SendTransferActions } from './components/send-transfer-actions';
2122
import { SendTransferConfirmationDetails } from './components/send-transfer-confirmation-details';
23+
import { useRpcSendTransferRequestParams } from './use-rpc-send-transfer';
2224

2325
const symbol = 'BTC';
2426

@@ -35,6 +37,7 @@ function useRpcSendTransferConfirmationState() {
3537
export function RpcSendTransferConfirmation() {
3638
const analytics = useAnalytics();
3739
const navigate = useNavigate();
40+
const { origin, requestId, tabId } = useRpcSendTransferRequestParams();
3841
const { fee, recipient, time, tx } = useRpcSendTransferConfirmationState();
3942
const bitcoinAddress = useCurrentBtcNativeSegwitAccountAddressIndexZero();
4043
const { broadcastTx, isBroadcasting } = useBitcoinBroadcastTransaction();
@@ -74,7 +77,13 @@ export function RpcSendTransferConfirmation() {
7477
};
7578
}
7679

77-
async function initiateTransaction() {
80+
async function onUserApproveSendTransferRequest() {
81+
if (!tabId || !origin) {
82+
logger.error('Cannot send transfer: missing tabId, origin');
83+
return;
84+
}
85+
void analytics.track('user_approved_send_transfer', { origin });
86+
7887
await broadcastTx({
7988
tx,
8089
async onSuccess(txid) {
@@ -86,6 +95,15 @@ export function RpcSendTransferConfirmation() {
8695
outputs: psbt.inputs.length,
8796
});
8897
await refetch();
98+
99+
chrome.tabs.sendMessage(
100+
tabId,
101+
makeRpcSuccessResponse('sendTransfer', {
102+
id: requestId,
103+
result: { txid },
104+
})
105+
);
106+
89107
navigate(RouteUrls.RpcSendTransferSummary, {
90108
state: formBtcTxSummaryState(txid),
91109
});
@@ -109,7 +127,7 @@ export function RpcSendTransferConfirmation() {
109127
<SendTransferActions
110128
action="Send"
111129
isLoading={isBroadcasting}
112-
onApprove={initiateTransaction}
130+
onApprove={onUserApproveSendTransferRequest}
113131
/>
114132
</>
115133
);

src/app/pages/rpc-send-transfer/use-rpc-send-transfer.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import { useDefaultRequestParams } from '@app/common/hooks/use-default-request-s
88
import { initialSearchParams } from '@app/common/initial-search-params';
99
import { useWalletType } from '@app/common/use-wallet-type';
1010

11-
function useRpcSendTransferRequestParams() {
11+
export function useRpcSendTransferRequestParams() {
1212
const defaultParams = useDefaultRequestParams();
1313
return useMemo(
1414
() => ({

0 commit comments

Comments
 (0)