order pending bugfix
This commit is contained in:
@@ -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()
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user