From 689aa310af404b4d1875139d11af33b8608dad52 Mon Sep 17 00:00:00 2001 From: Tim Olson <> Date: Thu, 19 Oct 2023 17:33:15 -0400 Subject: [PATCH] complete checkin for juan; config tweaks & mock tweaks --- .env-mock | 15 +++++++++++++++ vault.js | 27 +++++++++++++++++++-------- 2 files changed, 34 insertions(+), 8 deletions(-) create mode 100644 .env-mock diff --git a/.env-mock b/.env-mock new file mode 100644 index 0000000..338e6ca --- /dev/null +++ b/.env-mock @@ -0,0 +1,15 @@ +DEXORDER_PORT=3001 +DEXORDER_CORS=http://localhost:3000 + +DEXORDER_DB_URL=postgresql://dexorder:redoxed@localhost:5432/dexorder +DEXORDER_REDIS_URL=redis://localhost:6379 + +# Arbitrum +DEXORDER_DEPLOYMENT_42161=latest +DEXORDER_RPC_URL_42161=http://localhost:8545 + +# Mockchain +DEXORDER_DEPLOYMENT_1338=latest +DEXORDER_RPC_URL_1338=http://localhost:8545 +# dev account #2 +DEXORDER_ACCOUNTS_1338=0x5de4111afa1a4b94908f83103eb1f1706367c2e68ca870fc3fb9a804cdab365a diff --git a/vault.js b/vault.js index 40af031..6ecb4ef 100644 --- a/vault.js +++ b/vault.js @@ -14,10 +14,16 @@ const factoryAbi = await getAbi('Factory') export function vaultAddress(chainId, owner, num=0) { - const salt = ethers.solidityPackedKeccak256(['address','uint8'],[owner,num]) - const result = ethers.getCreate2Address(chainInfo[chainId].factory, salt, VAULT_INIT_CODE_HASH) - // console.log('vaultAddress', chainId, owner, num, chainInfo[chainId].factory, salt, VAULT_INIT_CODE_HASH, result) - return result + try { + const salt = ethers.solidityPackedKeccak256(['address','uint8'],[owner,num]) + const result = ethers.getCreate2Address(chainInfo[chainId].factory, salt, VAULT_INIT_CODE_HASH) + // console.log('vaultAddress', chainId, owner, num, chainInfo[chainId].factory, salt, VAULT_INIT_CODE_HASH, result) + return result + } + catch (e) { + console.error('Could not generate vault address',chainId,owner,num) + return null + } } @@ -44,12 +50,15 @@ export async function loginAddress(socket, chainId, address) { export async function ensureVault(socket, chainId, owner, num) { + console.log('ensureVault', chainId, owner, num) const address = vaultAddress(chainId, owner, num) - console.log('ensureVault', chainId, owner, num, address) if (!await vaults.contains(chainId,address)) { try { - await createVault(chainId, owner, num) - await loginAddress(socket, chainId, owner) + const vault = await createVault(chainId, owner, num) + console.log(vault) + if (vault !== null) + socket.emit('vaults', [vault]) + // await loginAddress(socket, chainId, owner) } catch { } } @@ -63,8 +72,9 @@ async function createVault(chainId, owner, num) { const signer = getSigner(chainId); const deployer = new ethers.Contract(chainInfo[chainId].factory, factoryAbi, signer) try { - const tx = await deployer.deployVault(owner, num) + await deployer.deployVault(owner, num) // console.log(`deploying vault for ${owner} #${num} with tx ${tx.hash}`) + return null } catch (e) { const addr = vaultAddress(chainId, owner, num) @@ -72,6 +82,7 @@ async function createVault(chainId, owner, num) { try { const ver = await vault.version() console.log(`vault already deployed at ${addr} with version ${ver}`) + return addr } catch (e2) { console.error('could not deploy vault:',e)