diff --git a/src/blockchain/abi.js b/src/blockchain/abi.js
index 6c7c7b4..54a9379 100644
--- a/src/blockchain/abi.js
+++ b/src/blockchain/abi.js
@@ -53,10 +53,11 @@ const Tranche = `(uint64,${Constraint}[])`
const SwapOrder = `(address,address,${Route},uint256,bool,bool,uint64,${Tranche}[])`
export const vaultAbi = [
- 'function withdraw(uint256) public',
- 'function withdrawTo(address payable,uint256) public',
- 'function withdraw(address,uint256) public',
- 'function withdrawTo(address,address,uint256) public',
- 'function placeOrder((address,address,(uint8,uint24),uint256,bool,bool,uint64,(uint16,(uint8,bytes)[])[])) public',
- 'function placeOrders((address,address,(uint8,uint24),uint256,bool,bool,uint64,(uint16,(uint8,bytes)[])[])[],uint8) public',
+ 'function withdraw(uint256)',
+ 'function withdrawTo(address payable,uint256)',
+ 'function withdraw(address,uint256)',
+ 'function withdrawTo(address,address,uint256)',
+ '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)',
]
diff --git a/src/blockchain/wallet.js b/src/blockchain/wallet.js
index 67fa663..2b40fe5 100644
--- a/src/blockchain/wallet.js
+++ b/src/blockchain/wallet.js
@@ -157,6 +157,18 @@ export async function pendOrder(order) {
}
+export async function cancelOrder(vault, orderIndex) {
+ pendTransaction(async (signer)=> {
+ const contract = contractOrNull(vault, vaultAbi, signer)
+ if( contract === null ) {
+ console.error('vault contract was null while canceling order', vault, orderIndex)
+ return null
+ }
+ return await contract.cancelOrder(orderIndex)
+ })
+}
+
+
export function flushOrders(vault) {
for( const order of pendingOrders )
pendOrderAsTransaction(vault, order)
diff --git a/src/components/Btn.vue b/src/components/Btn.vue
index ade9d3f..1c04d4f 100644
--- a/src/components/Btn.vue
+++ b/src/components/Btn.vue
@@ -1,6 +1,6 @@