null & undefined handling

This commit is contained in:
Tim Olson
2024-01-07 23:12:57 -04:00
parent 8fabfe0d2b
commit 52a41c6f81
11 changed files with 52 additions and 20 deletions

View File

@@ -5,8 +5,7 @@ import {useStore} from "@/store/store.js";
export function vaultAddress( owner, num=0) {
const s = useStore()
console.log('vaultAddress', owner, s.factory, s.vaultInitCodeHash)
if( !owner )
if( !owner || !s.factory || !s.vaultInitCodeHash )
return null
const salt = ethers.solidityPackedKeccak256(['address','uint8'],[owner,num])
return ethers.getCreate2Address(s.factory, salt, s.vaultInitCodeHash)

View File

@@ -106,13 +106,21 @@ function discoverVaults(owner) {
const doDiscoverVaults = new SingletonCoroutine(_discoverVaults, 50, false)
async function _discoverVaults(owner) {
console.log('_discoverVaults',owner)
const result = []
const s = useStore()
if( !owner || !s.chainId || !s.account) {
s.vaults = []
return
}
// todo multi-vault scan
// console.log('_discoverVaults',owner)
const num = 0
const addr = vaultAddress(owner, num)
console.log(`vault ${num} at`, addr)
const s = useStore()
// console.log(`vault ${num} at`, addr)
if( addr === null ) {
s.vaults = []
return
}
const vault = new ethers.Contract(addr, vaultAbi, s.provider)
let version = -1
try {
@@ -127,7 +135,7 @@ async function _discoverVaults(owner) {
catch (e) {
console.log(`no vault ${num}`)
}
if( s.account === owner ) { // double-check the account since it could have changed during our await
if( s.account == owner ) { // double-check the account since it could have changed during our await
s.vaults = result
if( pendingOrders.length )
if( result.length )