This commit is contained in:
aozhiwei 2023-07-12 16:58:43 +08:00
parent e943135ebb
commit 36d2c44df7
2 changed files with 16 additions and 4 deletions

View File

@ -8,10 +8,10 @@ const BaseService = require('./baseservice');
let g_bcevent_conn = null; let g_bcevent_conn = null;
let lock_times = 0; let lock_times = 0;
async function getGBcEventConn() { async function getGBcEventConn() {
if (!g_bcevent_conn) {
while (lock_times > 0) { while (lock_times > 0) {
await utils.sleep(1); await utils.sleep(1);
} }
if (!g_bcevent_conn) {
++lock_times; ++lock_times;
try { try {
const {err, conn} = await app.getDbConn(constant.BCEVENTDB_NAME); const {err, conn} = await app.getDbConn(constant.BCEVENTDB_NAME);

View File

@ -8,6 +8,7 @@ const serviceFactory = require('../services/factory');
async function buy(session) { async function buy(session) {
try { try {
const account = bcutils.toNormalAddress(session.request('account', '')); const account = bcutils.toNormalAddress(session.request('account', ''));
const seller = bcutils.toNormalAddress(session.request('seller', ''));
const netId = session.request('net_id'); const netId = session.request('net_id');
const price = session.request('price'); const price = session.request('price');
const bc = serviceFactory.create('BlockChain'); const bc = serviceFactory.create('BlockChain');
@ -24,6 +25,12 @@ async function buy(session) {
return; return;
} }
} }
{
if (!bc.isValidAddress(seller)) {
session.rspErr(500, 'seller error');
return;
}
}
const currency = bc.getContractAddressByName(contract.CEG_INSTANCE_NAME); const currency = bc.getContractAddressByName(contract.CEG_INSTANCE_NAME);
const userAddress = bc.getUserAddress(); const userAddress = bc.getUserAddress();
@ -61,8 +68,9 @@ async function buy(session) {
const nonce = transId; const nonce = transId;
const orderId = transId; const orderId = transId;
const signature = await bc.soliditySha3Sign( const signature = await bc.soliditySha3Sign(
orderId,
account, account,
seller,
orderId,
currency, currency,
price, price,
nowTime, nowTime,
@ -70,6 +78,10 @@ async function buy(session) {
); );
const rspParams = [ const rspParams = [
orderId,
seller,
currency,
price,
nowTime, nowTime,
nonce, nonce,
signature signature