add cancel deposit action in manage bids view
This commit is contained in:
parent
0d65dbb105
commit
49f7b670a9
@ -86,21 +86,30 @@ const emit = defineEmits(["cancelDeposit", "withdrawDeposit"]);
|
|||||||
<div
|
<div
|
||||||
v-if="props.isManageMode"
|
v-if="props.isManageMode"
|
||||||
class="flex gap-2 cursor-pointer items-center justify-self-center"
|
class="flex gap-2 cursor-pointer items-center justify-self-center"
|
||||||
@click="emit('cancelDeposit')"
|
@click="emit('cancelDeposit', item.args.depositID)"
|
||||||
>
|
>
|
||||||
<span class="last-release-info">Cancelar</span>
|
<span class="last-release-info">Cancelar</span>
|
||||||
<img alt="Cancel image" src="@/assets/cancel.svg" />
|
<img alt="Cancel image" src="@/assets/cancel.svg" />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<span class="last-release-info" v-if="item.event == 'DepositAdded' && !props.isManageMode">
|
<span
|
||||||
|
class="last-release-info"
|
||||||
|
v-if="item.event == 'DepositAdded' && !props.isManageMode"
|
||||||
|
>
|
||||||
{{ "Oferta" }}
|
{{ "Oferta" }}
|
||||||
</span>
|
</span>
|
||||||
|
|
||||||
<span class="last-release-info" v-if="item.event == 'LockAdded' && !props.isManageMode">
|
<span
|
||||||
|
class="last-release-info"
|
||||||
|
v-if="item.event == 'LockAdded' && !props.isManageMode"
|
||||||
|
>
|
||||||
{{ "Reserva" }}
|
{{ "Reserva" }}
|
||||||
</span>
|
</span>
|
||||||
|
|
||||||
<span class="last-release-info" v-if="item.event == 'LockReleased' && !props.isManageMode">
|
<span
|
||||||
|
class="last-release-info"
|
||||||
|
v-if="item.event == 'LockReleased' && !props.isManageMode"
|
||||||
|
>
|
||||||
{{ "Compra" }}
|
{{ "Compra" }}
|
||||||
</span>
|
</span>
|
||||||
|
|
||||||
|
@ -170,7 +170,10 @@ const closeMenu = () => {
|
|||||||
<div
|
<div
|
||||||
class="top-bar-info cursor-pointer"
|
class="top-bar-info cursor-pointer"
|
||||||
@click="
|
@click="
|
||||||
[(menuOpenToggle = !menuOpenToggle), (currencyMenuOpenToggle = false)]
|
[
|
||||||
|
(menuOpenToggle = !menuOpenToggle),
|
||||||
|
(currencyMenuOpenToggle = false),
|
||||||
|
]
|
||||||
"
|
"
|
||||||
@mouseover="menuHoverToggle = true"
|
@mouseover="menuHoverToggle = true"
|
||||||
@mouseout="menuHoverToggle = false"
|
@mouseout="menuHoverToggle = false"
|
||||||
|
@ -78,9 +78,9 @@ const listAllTransactionByWalletAddress = async (
|
|||||||
// get wallet's deposit transactions
|
// get wallet's deposit transactions
|
||||||
const listDepositTransactionByWalletAddress = async (
|
const listDepositTransactionByWalletAddress = async (
|
||||||
walletAddress: string
|
walletAddress: string
|
||||||
): Promise<any[] | undefined> => {
|
): Promise<any[]> => {
|
||||||
const provider = getProvider();
|
const provider = getProvider();
|
||||||
if (!provider) return;
|
if (!provider) return [];
|
||||||
|
|
||||||
const signer = provider.getSigner();
|
const signer = provider.getSigner();
|
||||||
const p2pContract = new ethers.Contract(addresses.p2pix, p2pix.abi, signer);
|
const p2pContract = new ethers.Contract(addresses.p2pix, p2pix.abi, signer);
|
||||||
@ -275,6 +275,22 @@ const addDeposit = async (tokenQty: Number, pixKey: string) => {
|
|||||||
await updateValidDeposits();
|
await updateValidDeposits();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// cancel a deposit by ots Id
|
||||||
|
const cancelDeposit = async (depositId: BigNumber): Promise<Boolean> => {
|
||||||
|
const provider = getProvider();
|
||||||
|
|
||||||
|
if (!provider) return false;
|
||||||
|
|
||||||
|
const signer = provider.getSigner();
|
||||||
|
const contract = new ethers.Contract(addresses.p2pix, p2pix.abi, signer);
|
||||||
|
await contract.cancelDeposit(depositId);
|
||||||
|
|
||||||
|
await updateWalletStatus();
|
||||||
|
await updateDepositAddedEvents();
|
||||||
|
await updateValidDeposits();
|
||||||
|
return true;
|
||||||
|
};
|
||||||
|
|
||||||
// Get specific deposit data by its ID
|
// Get specific deposit data by its ID
|
||||||
const mapDeposits = async (depositId: BigNumber): Promise<any> => {
|
const mapDeposits = async (depositId: BigNumber): Promise<any> => {
|
||||||
const provider = getProvider();
|
const provider = getProvider();
|
||||||
@ -392,6 +408,7 @@ export default {
|
|||||||
listDepositTransactionByWalletAddress,
|
listDepositTransactionByWalletAddress,
|
||||||
listLockTransactionByWalletAddress,
|
listLockTransactionByWalletAddress,
|
||||||
addDeposit,
|
addDeposit,
|
||||||
|
cancelDeposit,
|
||||||
mapDeposits,
|
mapDeposits,
|
||||||
formatBigNumber,
|
formatBigNumber,
|
||||||
addLock,
|
addLock,
|
||||||
|
@ -10,9 +10,11 @@ const { walletAddress } = storeToRefs(etherStore);
|
|||||||
const allUserTransactions = ref<any[]>([]);
|
const allUserTransactions = ref<any[]>([]);
|
||||||
|
|
||||||
if (walletAddress.value != "") {
|
if (walletAddress.value != "") {
|
||||||
blockchain.listAllTransactionByWalletAddress(walletAddress.value).then((res) => {
|
blockchain
|
||||||
|
.listAllTransactionByWalletAddress(walletAddress.value)
|
||||||
|
.then((res) => {
|
||||||
allUserTransactions.value = res;
|
allUserTransactions.value = res;
|
||||||
})
|
});
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
@ -1,18 +1,47 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { useEtherStore } from "@/store/ether";
|
import { useEtherStore } from "@/store/ether";
|
||||||
import { storeToRefs } from "pinia";
|
import { storeToRefs } from "pinia";
|
||||||
|
import blockchain from "../utils/blockchain";
|
||||||
import ListingComponent from "@/components/ListingComponent.vue";
|
import ListingComponent from "@/components/ListingComponent.vue";
|
||||||
|
import type { BigNumber } from "ethers";
|
||||||
|
import { ref, onBeforeMount } from "vue";
|
||||||
|
|
||||||
const etherStore = useEtherStore();
|
const etherStore = useEtherStore();
|
||||||
const { depositsAddedList } = storeToRefs(etherStore);
|
const { walletAddress } = storeToRefs(etherStore);
|
||||||
|
const depositList = ref<any[]>([]);
|
||||||
|
|
||||||
|
const handleCancelDeposit = async (depositID: BigNumber) => {
|
||||||
|
console.log(depositID);
|
||||||
|
const response = await blockchain.cancelDeposit(depositID);
|
||||||
|
if (response == true) console.log("Depósito cancelado com sucesso.");
|
||||||
|
};
|
||||||
|
|
||||||
|
onBeforeMount(async () => {
|
||||||
|
if (walletAddress.value) {
|
||||||
|
await blockchain
|
||||||
|
.listDepositTransactionByWalletAddress(walletAddress.value)
|
||||||
|
.then((value) => (depositList.value = value));
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
etherStore.$subscribe(async (mutation, state) => {
|
||||||
|
if (mutation.events.key == "walletAddress") {
|
||||||
|
if (state.walletAddress) {
|
||||||
|
await blockchain
|
||||||
|
.listDepositTransactionByWalletAddress(state.walletAddress)
|
||||||
|
.then((value) => (depositList.value = value));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<div class="page">
|
<div class="page">
|
||||||
<div class="header">Gerenciar ofertas</div>
|
<div class="header">Gerenciar ofertas</div>
|
||||||
<ListingComponent
|
<ListingComponent
|
||||||
:wallet-transactions="depositsAddedList"
|
:wallet-transactions="depositList"
|
||||||
:is-manage-mode="true"
|
:is-manage-mode="true"
|
||||||
|
@cancel-deposit="handleCancelDeposit"
|
||||||
></ListingComponent>
|
></ListingComponent>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user