diff --git a/src/blockchain/events.ts b/src/blockchain/events.ts index 1ebed94..715ecf3 100644 --- a/src/blockchain/events.ts +++ b/src/blockchain/events.ts @@ -65,7 +65,7 @@ const getValidDeposits = async ( const mappedDeposit = await p2pContract.mapDeposits( deposit.args?.depositID ); - let validDeposit: ValidDeposit | undefined = undefined; + let validDeposit: ValidDeposit | null = null; if (mappedDeposit.valid) { validDeposit = { @@ -79,10 +79,9 @@ const getValidDeposits = async ( return validDeposit; }) - .filter((deposit) => deposit) - ); + ); - return depositList as ValidDeposit[]; + return depositList.filter((deposit) => deposit) as ValidDeposit[]; }; export { getValidDeposits, getNetworksLiquidity }; diff --git a/src/components/SearchComponent.vue b/src/components/SearchComponent.vue index 5c9da09..443c05f 100644 --- a/src/components/SearchComponent.vue +++ b/src/components/SearchComponent.vue @@ -53,7 +53,7 @@ const handleInputEvent = (event: any): void => { tokenValue.value = Number(value); - if (decimalCount(tokenValue.value) > 2) { + if (decimalCount(String(tokenValue.value)) > 2) { validDecimals.value = false; enableConfirmButton.value = false; return; diff --git a/src/components/SellerSteps/WantSellComponent.vue b/src/components/SellerSteps/WantSellComponent.vue index 4ac445c..b09893f 100644 --- a/src/components/SellerSteps/WantSellComponent.vue +++ b/src/components/SellerSteps/WantSellComponent.vue @@ -11,7 +11,7 @@ import { connectProvider } from "@/blockchain/provider"; const etherStore = useEtherStore(); const { walletAddress } = storeToRefs(etherStore); -const offer = ref(""); +const offer = ref(""); const pixKey = ref(""); const enableSelectButton = ref(false); @@ -25,7 +25,7 @@ const emit = defineEmits(["approveTokens"]); const handleInputEvent = (event: any): void => { const { value } = event.target; - offer.value = Number(value); + offer.value = value; if (decimalCount(offer.value) > 2) { validDecimals.value = false; @@ -35,7 +35,7 @@ const handleInputEvent = (event: any): void => { validDecimals.value = true; }; -const handleButtonClick = async (): Promise => { +const handleButtonClick = async (offer: string, pixKey: string): Promise => { if (walletAddress.value) emit("approveTokens", { offer, pixKey }); else await connectProvider(); }; @@ -102,7 +102,7 @@ const handleButtonClick = async (): Promise => { diff --git a/src/store/ether.ts b/src/store/ether.ts index 37ab210..7eb63c5 100644 --- a/src/store/ether.ts +++ b/src/store/ether.ts @@ -9,6 +9,8 @@ export const useEtherStore = defineStore("ether", { balance: "", networkName: NetworkEnum.ethereum, loadingLock: false, + loadingWalletTransactionHistory: false, + loadingWalletBids: false, sellerView: false, // Depósitos válidos para compra GOERLI depositsValidListGoerli: [] as ValidDeposit[], @@ -41,6 +43,12 @@ export const useEtherStore = defineStore("ether", { setSellerView(sellerView: boolean) { this.sellerView = sellerView; }, + setLoadingWalletTransactionHistory(loadingWalletTransactionHistory: boolean) { + this.loadingWalletTransactionHistory = loadingWalletTransactionHistory; + }, + setLoadingWalletBids(loadingWalletBids: boolean) { + this.loadingWalletBids = loadingWalletBids; + }, setDepositsValidListGoerli(depositsValidList: ValidDeposit[]) { this.depositsValidListGoerli = depositsValidList; }, diff --git a/src/utils/decimalCount.ts b/src/utils/decimalCount.ts index 9e1ff12..3142b79 100644 --- a/src/utils/decimalCount.ts +++ b/src/utils/decimalCount.ts @@ -1,5 +1,4 @@ -export const decimalCount = (num: number): number => { - const numStr = String(num); +export const decimalCount = (numStr: string): number => { if (numStr.includes(".")) { return numStr.split(".")[1].length; } diff --git a/src/views/ManageBidsView.vue b/src/views/ManageBidsView.vue index 695edad..152076d 100644 --- a/src/views/ManageBidsView.vue +++ b/src/views/ManageBidsView.vue @@ -3,24 +3,25 @@ import { useEtherStore } from "@/store/ether"; import { storeToRefs } from "pinia"; import ListingComponent from "@/components/ListingComponent.vue"; import type { BigNumber } from "ethers"; -import { ref, watch } from "vue"; +import { ref, watch, onMounted } from "vue"; import { cancelDeposit, withdrawDeposit } from "@/blockchain/buyerMethods"; import { listValidDepositTransactionsByWalletAddress } from "@/blockchain/wallet"; import type { ValidDeposit } from "@/model/ValidDeposit"; const etherStore = useEtherStore(); -const { walletAddress, networkName } = storeToRefs(etherStore); +const { walletAddress, networkName, loadingWalletBids } = storeToRefs(etherStore); const depositList = ref([]); -if (walletAddress.value) { +onMounted(async () => { + if (walletAddress.value) { const walletDeposits = await listValidDepositTransactionsByWalletAddress( walletAddress.value ); if (walletDeposits) { depositList.value = walletDeposits; } -} +}}) const handleCancelDeposit = async (depositID: BigNumber, index: number) => { const response = await cancelDeposit(depositID); diff --git a/src/views/SellerView.vue b/src/views/SellerView.vue index 2c2e2c9..c1529f7 100644 --- a/src/views/SellerView.vue +++ b/src/views/SellerView.vue @@ -19,16 +19,16 @@ etherStore.setSellerView(true); const flowStep = ref(Step.Sell); const loading = ref(false); -const offerValue = ref(); +const offerValue = ref(""); const pixKeyBuyer = ref(""); // Verificar tipagem -const approveOffer = async (args: { offer: number; pixKey: string }) => { +const approveOffer = async (args: { offer: string; pixKey: string }) => { loading.value = true; try { offerValue.value = args.offer; pixKeyBuyer.value = args.pixKey; - await approveTokens(String(offerValue.value)); + await approveTokens(args.offer); flowStep.value = Step.Network; loading.value = false; } catch (err) {