Skip to content

Commit 0eae15c

Browse files
fix: add spark address valid check in displayAddress method
1 parent 4285140 commit 0eae15c

3 files changed

Lines changed: 13 additions & 6 deletions

File tree

packages/extension/src/libs/spark-handler/index.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,3 +26,11 @@ export async function sendToSparkAddress(to: string, amount: string) {
2626
},
2727
]);
2828
}
29+
30+
export async function sendFromSparkAddress(to: string, amount: string) {
31+
return await callRPC<string[]>("spendspark", [
32+
{
33+
[to]: { amount: Number(amount) },
34+
},
35+
]);
36+
}

packages/extension/src/providers/bitcoin/types/bitcoin-network.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,9 @@ export interface BitcoinNetworkOptions {
5757
}
5858

5959
export const getAddress = (pubkey: string, network: BitcoinNetworkInfo) => {
60-
if (pubkey.length < 64) return pubkey;
60+
if (pubkey.length >= 144 || pubkey.length < 64) {
61+
return pubkey;
62+
}
6163
const { address } = payments[network.paymentType]({
6264
network,
6365
pubkey: hexToBuffer(pubkey),

packages/extension/src/ui/action/views/verify-send-from-spark-transaction/index.vue

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,6 @@ import BaseButton from "@action/components/base-button/index.vue";
7575
import VerifyTransactionNetwork from "@/providers/common/ui/verify-transaction/verify-transaction-network.vue";
7676
import VerifyTransactionAccount from "@/providers/common/ui/verify-transaction/verify-transaction-account.vue";
7777
import VerifyTransactionAmount from "@/providers/common/ui/verify-transaction/verify-transaction-amount.vue";
78-
import VerifyTransactionFee from "@/providers/common/ui/verify-transaction/verify-transaction-fee.vue";
7978
import SendProcess from "@action/views/send-process/index.vue";
8079
import { getCurrentContext } from "@/libs/messenger/extension";
8180
import { DEFAULT_BTC_NETWORK, getNetworkByName } from "@/libs/utils/networks";
@@ -86,11 +85,10 @@ import { BitcoinNetwork } from "@/providers/bitcoin/types/bitcoin-network";
8685
import { trackSendEvents } from "@/libs/metrics";
8786
import { SendEventType } from "@/libs/metrics/types";
8887
import { VerifyTransactionParams } from "@/providers/bitcoin/ui/types";
89-
import { sendToSparkAddress } from "@/libs/spark-handler";
88+
import { sendFromSparkAddress } from "@/libs/spark-handler";
9089
import { isAxiosError } from "axios";
9190
import { fromBase } from "@enkryptcom/utils";
9291
import { BaseNetwork } from "@/types/base-network";
93-
import { isAddress } from "@/providers/bitcoin/libs/utils";
9492
9593
const emits = defineEmits<{
9694
(e: "update:spark-state-changed", network: BaseNetwork): void;
@@ -132,7 +130,6 @@ const sendAction = async () => {
132130
network: network.value.name,
133131
});
134132
const txActivity: Activity = {
135-
// TODO: finalize send from spark account
136133
from: network.value.displayAddress(txData.fromAddress),
137134
to: txData.toAddress,
138135
isIncoming: txData.fromAddress === txData.toAddress,
@@ -151,7 +148,7 @@ const sendAction = async () => {
151148
transactionHash: "",
152149
};
153150
const activityState = new ActivityState();
154-
await sendToSparkAddress(
151+
await sendFromSparkAddress(
155152
txData.toAddress,
156153
fromBase(txData.toToken.amount, txData.toToken.decimals).toString()
157154
)

0 commit comments

Comments
 (0)