vault creation loop bugfix
This commit is contained in:
@@ -17,11 +17,13 @@ export async function faucet( chainId, owner, vault=null ) {
|
||||
)
|
||||
let nonce = await provider.getTransactionCount(faucet.address, 'pending')
|
||||
faucet = new ethers.NonceManager(faucet)
|
||||
console.log('faucet sending native coin to', owner)
|
||||
await faucet.sendTransaction({to:owner, value:1n *10n**18n, nonce: nonce++})
|
||||
const info = chainInfo[chainId]
|
||||
if( info.mockCoins ) {
|
||||
const [coinAddr, usdAddr] = info.mockCoins
|
||||
const signer = await provider.getSigner()
|
||||
console.log('faucet minting tokens to', vault)
|
||||
await new ethers.Contract(coinAddr, mockErc20Abi, signer).mint(vault, 10n *10n**18n)
|
||||
await new ethers.Contract(usdAddr, mockErc20Abi, signer).mint(vault, 10_1000n *10n**6n)
|
||||
}
|
||||
|
||||
8
vault.js
8
vault.js
@@ -4,7 +4,6 @@ import {getProvider, getSigner} from "./blockchain.js";
|
||||
import {vaultBalances, vaults} from './cache.js';
|
||||
import {chainInfo, VAULT_INIT_CODE_HASH} from "./chain.js";
|
||||
import {sendVaultOrders} from "./order.js";
|
||||
import {faucet} from "./faucet.js";
|
||||
|
||||
// Vault
|
||||
// address owner
|
||||
@@ -47,6 +46,7 @@ async function sendVaultInfo(socket, chainId, owner) {
|
||||
} else
|
||||
break
|
||||
}
|
||||
console.log('sending vaults', found)
|
||||
socket.emit('vaults', chainId, owner, found)
|
||||
for (const vault of found)
|
||||
sendVaultOrders(socket, chainId, vault)
|
||||
@@ -67,8 +67,10 @@ const ensuring = {}
|
||||
|
||||
export async function ensureVault(socket, chainId, owner, num) {
|
||||
const key = [chainId, owner, num]
|
||||
if( key in ensuring )
|
||||
if( key in ensuring ) {
|
||||
console.log('squelching ensureVault since one is in-progress')
|
||||
return
|
||||
}
|
||||
ensuring[key] = true
|
||||
console.log('ensureVault', chainId, owner, num)
|
||||
if( chainId in chainInfo ) {
|
||||
@@ -76,7 +78,7 @@ export async function ensureVault(socket, chainId, owner, num) {
|
||||
if (!await vaults.contains(chainId,address)) {
|
||||
try {
|
||||
const vault = await createVault(chainId, owner, num)
|
||||
console.log(vault)
|
||||
console.log('created vault', vault)
|
||||
if (vault !== null) {
|
||||
socket.emit('vaults', chainId, owner, [vault])
|
||||
await emitBalances(socket, chainId, vault)
|
||||
|
||||
Reference in New Issue
Block a user