diff --git a/server/web3bcspider/services/pull_bcevent.js b/server/web3bcspider/services/pull_bcevent.js index efd3533..b1a2328 100644 --- a/server/web3bcspider/services/pull_bcevent.js +++ b/server/web3bcspider/services/pull_bcevent.js @@ -8,10 +8,10 @@ const BaseService = require('./baseservice'); let g_bcevent_conn = null; let lock_times = 0; async function getGBcEventConn() { + while (lock_times > 0) { + await utils.sleep(1); + } if (!g_bcevent_conn) { - while (lock_times > 0) { - await utils.sleep(1); - } ++lock_times; try { const {err, conn} = await app.getDbConn(constant.BCEVENTDB_NAME); diff --git a/server/web3sign/controllers/game_item_market.js b/server/web3sign/controllers/game_item_market.js index 4cb1993..d87188b 100644 --- a/server/web3sign/controllers/game_item_market.js +++ b/server/web3sign/controllers/game_item_market.js @@ -8,6 +8,7 @@ const serviceFactory = require('../services/factory'); async function buy(session) { try { const account = bcutils.toNormalAddress(session.request('account', '')); + const seller = bcutils.toNormalAddress(session.request('seller', '')); const netId = session.request('net_id'); const price = session.request('price'); const bc = serviceFactory.create('BlockChain'); @@ -24,6 +25,12 @@ async function buy(session) { return; } } + { + if (!bc.isValidAddress(seller)) { + session.rspErr(500, 'seller error'); + return; + } + } const currency = bc.getContractAddressByName(contract.CEG_INSTANCE_NAME); const userAddress = bc.getUserAddress(); @@ -61,8 +68,9 @@ async function buy(session) { const nonce = transId; const orderId = transId; const signature = await bc.soliditySha3Sign( - orderId, account, + seller, + orderId, currency, price, nowTime, @@ -70,6 +78,10 @@ async function buy(session) { ); const rspParams = [ + orderId, + seller, + currency, + price, nowTime, nonce, signature