From 6e1d7ec68823dce778088c868fa9caba28139965 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Thu, 31 Aug 2023 16:18:53 +0800 Subject: [PATCH] 1 --- .../web3sign/controllers/benftmall_trans.js | 26 +++++++++++++++---- 1 file changed, 21 insertions(+), 5 deletions(-) diff --git a/server/web3sign/controllers/benftmall_trans.js b/server/web3sign/controllers/benftmall_trans.js index 930a320..93c9fc6 100644 --- a/server/web3sign/controllers/benftmall_trans.js +++ b/server/web3sign/controllers/benftmall_trans.js @@ -64,13 +64,29 @@ async function buyPlanet(session) { const orderId = transId; const nftAddresses = [bc.getContractAddressByName('PLANET')]; const amounts = [1]; + const values = [orderId, price, nowTime, nonce]; + utils.arrayToStrings(ids); + utils.arrayToStrings(amounts); + utils.arrayToStrings(values); + + const signArr = []; + { + for (let i = 0; i < ids.length * 2 + 4; ++i) { + signArr.push(''); + } + for (let i = 0; i < ids.length; ++i) { + signArr[i * 2] = ids[i]; + signArr[i * 2 + 1] = amounts[i]; + } + for (let i = 0; i < values.length; ++i) { + signArr[ids.length * 2 + i] = values[i]; + } + } const signature = await bc.soliditySha3Sign( account, currency, - ...nftAddresses, - ...ids, - ...amounts, - ...[orderId, price, nowTime, nonce], + ...nftAddress, + ...signArr ); const rspParams = [ @@ -78,7 +94,7 @@ async function buyPlanet(session) { utils.jsonEncode(nftAddresses), utils.jsonEncode(ids), utils.jsonEncode(amounts), - utils.jsonEncode([orderId, price, nowTime, nonce]), + utils.jsonEncode(values), signature ]; utils.arrayToStrings(rspParams);