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