order pending bugfix

This commit is contained in:
Tim Olson
2023-11-02 00:38:39 -04:00
parent a4c664eb90
commit f3aef443b3
2 changed files with 32 additions and 17 deletions

View File

@@ -85,15 +85,31 @@ export async function connectWallet() {
// eth_getaccounts
}
const pendingOrders = []
export function pendOrder(order) {
export async function pendOrder(order) {
console.log('order', JSON.stringify(order))
const s = useStore()
const vault = s.vault;
if(vault === null ) {
console.error('vault was null during pendOrder')
return
const signer = await s.provider.getSigner()
if (!s.vaults.length) {
pendingOrders.push(order)
const owner = await signer.getAddress();
socket.emit('ensureVault', s.chainId, owner, 0)
}
else {
const vault = s.vaults[0];
pendOrderAsTransaction(vault, order)
}
}
export function flushOrders(vault) {
for( const order of pendingOrders )
pendOrderAsTransaction(vault, order)
}
function pendOrderAsTransaction(vault, order) {
pendTransaction(async (signer)=> {
const contract = contractOrNull(vault, vaultAbi, signer)
if( contract === null ) {
@@ -139,10 +155,6 @@ export async function asyncFlushTransactions() {
console.log('signer denied')
return
}
if (!s.vaults.length) {
socket.emit('ensureVault', s.chainId, await signer.getAddress(), 0)
return
}
for (const sender of senders)
doSendTransaction(sender, signer)
}
@@ -168,10 +180,3 @@ function doSendTransaction(sender, signer) {
}
})
}
socket.on('vaults', (vaults)=>{
const s = useStore()
console.log('vaults', vaults)
s.vaults = vaults
flushTransactions()
})