approvals; vault creation by backend
This commit is contained in:
18
vault.js
18
vault.js
@@ -5,6 +5,7 @@ import {chainInfo} from "./chain.js";
|
||||
import {sendVaultOrders} from "./order.js";
|
||||
import {newContract} from "./contract.js";
|
||||
import {approveWallet} from "./approval.js";
|
||||
import {sql} from "./db.js";
|
||||
|
||||
|
||||
export function vaultAddress(chainId, owner, num=0) {
|
||||
@@ -48,8 +49,10 @@ async function sendVaultInfo(socket, chainId, owner) {
|
||||
}
|
||||
|
||||
export async function loginAddress(socket, chainId, address) {
|
||||
if( socket.user_room !== undefined)
|
||||
if( socket.user_room !== undefined) {
|
||||
socket.leave(socket.user_room)
|
||||
console.log('left user room', socket.user_room)
|
||||
}
|
||||
if( address ) {
|
||||
const approved = approveWallet(address)
|
||||
socket.emit('approvedWallet', approved)
|
||||
@@ -64,7 +67,7 @@ export async function loginAddress(socket, chainId, address) {
|
||||
|
||||
const ensuring = {}
|
||||
|
||||
export async function ensureVault(socket, chainId, owner, num) {
|
||||
export async function ensureVault_OLD(socket, chainId, owner, num) {
|
||||
if (!approveWallet(owner))
|
||||
return
|
||||
const key = [chainId, owner, num]
|
||||
@@ -103,6 +106,7 @@ async function createVault(chainId, owner, num) {
|
||||
return
|
||||
const signer = getSigner(chainId);
|
||||
const factory = chainInfo[chainId].factory;
|
||||
owner = ethers.getAddress(owner);
|
||||
console.log('createVault', chainId, owner, num, factory, chainInfo[chainId].vaultInitCodeHash )
|
||||
const deployer = await newContract(factory, 'IVaultFactory', signer)
|
||||
const vaultAddr = vaultAddress(chainId, owner, num)
|
||||
@@ -129,3 +133,13 @@ async function createVault(chainId, owner, num) {
|
||||
}
|
||||
return vaultAddr
|
||||
}
|
||||
|
||||
|
||||
export async function requestVault(socket, chainId, owner, num) {
|
||||
const ipAddress = socket.handshake.address
|
||||
const time = new Date().toISOString();
|
||||
const query = `insert into vaultcreationrequest (chain, owner, num, time, ipaddr) values (${chainId}, '${owner}', ${num}, '${time}', '${ipAddress}') ON CONFLICT DO NOTHING`;
|
||||
console.log('query:', query)
|
||||
await sql(query)
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user