Merge cancelAll (button)

This commit is contained in:
7400
2023-12-02 09:40:56 -08:00
3 changed files with 17 additions and 0 deletions

View File

@@ -60,4 +60,5 @@ export const vaultAbi = [
'function placeOrder((address,address,(uint8,uint24),uint256,bool,bool,uint64,(uint16,(uint8,bytes)[])[]))',
'function placeOrders((address,address,(uint8,uint24),uint256,bool,bool,uint64,(uint16,(uint8,bytes)[])[])[],uint8)',
'function cancelOrder(uint64)',
'function cancelAll()',
]

View File

@@ -184,6 +184,16 @@ export async function cancelOrder(vault, orderIndex) {
})
}
export async function cancelAll(vault) {
pendTransaction(async (signer)=> {
const contract = contractOrNull(vault, vaultAbi, signer)
if( contract === null ) {
console.error('vault contract was null while canceling order', vault)
return null
}
return await contract.cancelAll()
})
}
export function flushOrders(vault) {
for( const order of pendingOrders )

View File

@@ -1,6 +1,7 @@
<template>
<div class="d-inline-flex">
<btn icon="mdi-plus" color="green" @click="show=true">New Order</btn>
<btn icon="mdi-delete-alert" color="red" class="mb-6" @click="cancelAll(vaultAddr)">Cancel All Orders</btn>
<v-dialog v-model="show" width="auto">
<v-card>
<v-card-item class="d-flex">
@@ -38,6 +39,11 @@ import Btn from "@/components/Btn.vue";
const s = useStore()
const show = ref(false)
import {cancelAll} from "@/blockchain/wallet.js";
import {computed} from "vue";
const props = defineProps(['vault'])
const vaultAddr = computed(()=>props.vault?props.vault:s.vault)
</script>
<style scoped lang="scss">