vaultInitCodeHash comes from chainInfo
This commit is contained in:
6
chain.js
6
chain.js
@@ -1,10 +1,4 @@
|
|||||||
import fs from "fs";
|
import fs from "fs";
|
||||||
import {keccak256} from "ethers";
|
|
||||||
|
|
||||||
const vaultCode = JSON.parse(fs.readFileSync('../contract/out/Vault.sol/Vault.json').toString())
|
|
||||||
// todo this is a per-chain value found in chainInfo
|
|
||||||
export const VAULT_INIT_CODE_HASH = keccak256(vaultCode.bytecode.object)
|
|
||||||
console.log('VAULT_INIT_CODE_HASH', VAULT_INIT_CODE_HASH)
|
|
||||||
|
|
||||||
export const chainInfo = JSON.parse(fs.readFileSync('../contract/version.json')).chainInfo
|
export const chainInfo = JSON.parse(fs.readFileSync('../contract/version.json')).chainInfo
|
||||||
console.log('chainInfo', chainInfo)
|
console.log('chainInfo', chainInfo)
|
||||||
|
|||||||
1
main.js
1
main.js
@@ -3,7 +3,6 @@ import 'dotenv/config'
|
|||||||
import {lookupToken} from "./token.js";
|
import {lookupToken} from "./token.js";
|
||||||
import {httpServer, io} from "./io.js";
|
import {httpServer, io} from "./io.js";
|
||||||
import {ensureVault, loginAddress} from "./vault.js";
|
import {ensureVault, loginAddress} from "./vault.js";
|
||||||
import {chainInfo, VAULT_INIT_CODE_HASH} from "./chain.js";
|
|
||||||
import {subOHLCs, subPools, unsubOHLCs, unsubPools} from "./pool.js";
|
import {subOHLCs, subPools, unsubOHLCs, unsubPools} from "./pool.js";
|
||||||
import {gib} from "./faucet.js";
|
import {gib} from "./faucet.js";
|
||||||
|
|
||||||
|
|||||||
4
vault.js
4
vault.js
@@ -1,7 +1,7 @@
|
|||||||
import {ethers} from "ethers";
|
import {ethers} from "ethers";
|
||||||
import {getProvider, getSigner} from "./blockchain.js";
|
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} from "./chain.js";
|
||||||
import {sendVaultOrders} from "./order.js";
|
import {sendVaultOrders} from "./order.js";
|
||||||
import {newContract} from "./contract.js";
|
import {newContract} from "./contract.js";
|
||||||
|
|
||||||
@@ -9,7 +9,7 @@ import {newContract} from "./contract.js";
|
|||||||
export function vaultAddress(chainId, owner, num=0) {
|
export function vaultAddress(chainId, owner, num=0) {
|
||||||
try {
|
try {
|
||||||
const salt = ethers.solidityPackedKeccak256(['address','uint8'],[owner,num])
|
const salt = ethers.solidityPackedKeccak256(['address','uint8'],[owner,num])
|
||||||
const result = ethers.getCreate2Address(chainInfo[chainId].factory, salt, VAULT_INIT_CODE_HASH)
|
const result = ethers.getCreate2Address(chainInfo[chainId].factory, salt, chainInfo[chainId].vaultInitCodeHash)
|
||||||
// console.log('vaultAddress', chainId, owner, num, chainInfo[chainId].factory, salt, VAULT_INIT_CODE_HASH, result)
|
// console.log('vaultAddress', chainId, owner, num, chainInfo[chainId].factory, salt, VAULT_INIT_CODE_HASH, result)
|
||||||
return result
|
return result
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user