From 24ce0256196c1bed23207b7c22833894d4e16a8f Mon Sep 17 00:00:00 2001 From: Tim Olson <> Date: Sun, 8 Oct 2023 01:11:53 -0400 Subject: [PATCH] order placement working --- src/blockchain/abi.js | 4 ++-- src/blockchain/contract.js | 12 +++--------- src/blockchain/wallet.js | 13 +++++++++---- 3 files changed, 14 insertions(+), 15 deletions(-) diff --git a/src/blockchain/abi.js b/src/blockchain/abi.js index aee6a63..f8de743 100644 --- a/src/blockchain/abi.js +++ b/src/blockchain/abi.js @@ -53,6 +53,6 @@ export const vaultAbi = [ 'function withdrawTo(address payable,uint256) public', 'function withdraw(address,uint256) public', 'function withdrawTo(address,address,uint256) public', - `function placeOrder(${SwapOrder}) public`, - `function placeOrders(${SwapOrder}[],uint8) public`, + 'function placeOrder((address,address,(uint8,uint24),uint256,bool,bool,uint64,(uint64,(uint8,bytes)[])[])) public', + 'function placeOrders((address,address,(uint8,uint24),uint256,bool,bool,uint64,(uint64,(uint8,bytes)[])[])[],uint8) public', ] diff --git a/src/blockchain/contract.js b/src/blockchain/contract.js index 3639b65..9f9bfef 100644 --- a/src/blockchain/contract.js +++ b/src/blockchain/contract.js @@ -4,16 +4,10 @@ import {useStore} from "@/store/store.js"; import {provider} from "@/blockchain/wallet.js"; -export function vaultAddress( owner, num ) { +export function vaultAddress( owner, num=0) { const s = useStore() - if( s.vaultInitCodeHash === null || s.factory === null ) - return null - const abiCoder = ethers.AbiCoder.defaultAbiCoder(); - console.log('vaultAddress owner', owner) - const salt = ethers.keccak256(abiCoder.encode(['address','uint8'],[owner,num])) - const result = ethers.getCreate2Address(s.factory, salt, s.vaultInitCodeHash) - console.log('vaultAddress', result, s.factory, salt, s.vaultInitCodeHash) - return result + const salt = ethers.solidityPackedKeccak256(['address','uint8'],[owner,num]) + return ethers.getCreate2Address(s.factory, salt, s.vaultInitCodeHash) } diff --git a/src/blockchain/wallet.js b/src/blockchain/wallet.js index 289e11b..7c7de7b 100644 --- a/src/blockchain/wallet.js +++ b/src/blockchain/wallet.js @@ -9,10 +9,15 @@ export function onChainChanged(chainId) { chainId = Number(chainId) // console.log('chain changed', chainId) const store = useStore() - store.chainId = chainId - store.account = null - provider = new ethers.BrowserProvider(window.ethereum, chainId) - provider.listAccounts().then(onAccountsChanged) + if( chainId !== store.chainId ) { + store.chainId = chainId + store.account = null + provider = new ethers.BrowserProvider(window.ethereum, chainId) + provider.listAccounts().then(onAccountsChanged) + new ethers.Interface([ + // 'event DexorderSwapCreated' // todo + ]) + } } function onAccountsChanged(accounts) {