From 05bdceb14a0e2a44d98632210903cbc6352115eb Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Tue, 11 Jun 2024 10:54:11 +0800 Subject: [PATCH] 1 --- .../controllers/activate721nft.js | 143 ------------------ .../controllers/benftmall_trans.js | 130 ---------------- server/web3webhooks/controllers/claim_box.js | 92 ----------- server/web3webhooks/controllers/factory.js | 5 - .../controllers/game_item_mall.js | 99 ------------ .../controllers/game_item_market.js | 107 ------------- 6 files changed, 576 deletions(-) delete mode 100644 server/web3webhooks/controllers/activate721nft.js delete mode 100644 server/web3webhooks/controllers/benftmall_trans.js delete mode 100644 server/web3webhooks/controllers/claim_box.js delete mode 100644 server/web3webhooks/controllers/game_item_mall.js delete mode 100644 server/web3webhooks/controllers/game_item_market.js diff --git a/server/web3webhooks/controllers/activate721nft.js b/server/web3webhooks/controllers/activate721nft.js deleted file mode 100644 index 59f6c79..0000000 --- a/server/web3webhooks/controllers/activate721nft.js +++ /dev/null @@ -1,143 +0,0 @@ -const app = require('j7/app'); -const utils = require('j7/utils'); -const bcutils = require('j7/bcutils'); -const bcconst = require('common/bcconst'); -const metaFactory = require('../metadata/factory'); -const serviceFactory = require('../services/factory'); - -async function activate721Nft(session) { - try { - const account = bcutils.toNormalAddress(session.request('account')); - const netId = session.request('net_id'); - const tokenId = session.request('token_id'); - const tokenType = session.request('token_type'); - const itemUniId = session.request('item_uniid'); - const itemId = session.request('item_id'); - const bc = serviceFactory.create('BlockChain'); - { - const ret = await bc.init(netId); - if (!ret) { - session.rspErr(500, 'net_id error'); - return; - } - } - { - if (!bc.isValidAddress(account)) { - session.rspErr(500, 'account error'); - return; - } - } - - const nftAddress = bc.getNftAddress(tokenType); - const userAddress = bc.getUserAddress(); - const thisContractAddress = bc.getContractAddressByName('NFTLock'); - const instance = bc.getInstanceByName('NFTLock'); - - const transModel = session.createModel('Transaction'); - const usedTokenIdModel = session.createModel('UsedTokenId'); - - { - const itemMeta = metaFactory.getMetaByKey('Item', itemId); - if (!itemMeta) { - session.rspErr(101, 'item_id param error'); - return; - } - if (itemMeta.getNftType() != tokenType) { - session.rspErr(101, 'item_id param error'); - return; - } - if (!(itemMeta.getNftType() == bcconst.BC_NFT_HERO || - itemMeta.getNftType() == bcconst.BC_NFT_CHIP)) { - session.rspErr(101, 'token_type param error'); - return; - } - } - { - if (!nftAddress) { - session.rspErr(101, 'token_type param error2'); - return; - } - } - - const {err, seqId} = await transModel.add(account, session.requestToJson(), netId); - if (err) { - session.rspErr(500, 'server internal error'); - return; - } - - const nowTime = utils.getUtcTime(); - const transId = bcutils.genTransId - ( - bcconst.BC_FUNC_COMMON, - nowTime, - seqId, - [ - itemUniId, - itemId - ] - ); - await transModel.update - ( - seqId, - [ - ['trans_id', transId] - ]); - const nonce = transId; - const nftList = [ - [ - tokenId, - true - ] - ]; - const nftListArr = []; - nftList.forEach((item) => { - nftListArr.push(item[0].toString()); - nftListArr.push('0x01'); - }); - const signature = await bc.soliditySha3Sign( - account, - nftAddress, - thisContractAddress, - netId, - nowTime, - nonce, - ...nftListArr, - ); - console.log( - account, - nftAddress, - thisContractAddress, - netId, - nowTime, - nonce, - nftListArr, - signature - ); - - let data = instance.methods.unlockOrMint - ( - nftAddress, - nftList, - nowTime, - nonce, - signature).encodeABI(); - - session.rspData({ - 'trans_id' : transId, - 'trans_req': { - 'to': thisContractAddress, - 'data': data - } - }); - } catch (e) { - session.rspErr(1, 1); - utils.safeDumpErrStack(e); - console.log(e); - } -} - -function init() { - app.registerHandler('BcService', 'activate721Nft', activate721Nft); -} - -exports.init = init; diff --git a/server/web3webhooks/controllers/benftmall_trans.js b/server/web3webhooks/controllers/benftmall_trans.js deleted file mode 100644 index 0d9cd1f..0000000 --- a/server/web3webhooks/controllers/benftmall_trans.js +++ /dev/null @@ -1,130 +0,0 @@ -const app = require('j7/app'); -const utils = require('j7/utils'); -const bcutils = require('j7/bcutils'); -const bcconst = require('common/bcconst'); -const contract = require('common/contract'); -const serviceFactory = require('../services/factory'); - -async function buyPlanet(session) { - try { - const account = bcutils.toNormalAddress(session.request('account', '')); - const netId = session.request('net_id'); - const price = session.request('price'); - const currencyName = session.request('currency_name'); - const ids = utils.jsonDecode(session.request('ids', '')); - const bc = serviceFactory.create('BlockChain'); - { - const ret = await bc.init(netId); - if (!ret) { - session.rspErr(500, 'net_id error'); - return; - } - } - { - if (!bc.isValidAddress(account)) { - session.rspErr(500, 'account error'); - return; - } - } - - const currency = bc.getCurrencyAddressByName(currencyName); - const userAddress = bc.getUserAddress(); - { - if (!bc.isValidAddress(currency)) { - session.rspErr(500, 'ceg error'); - return; - } - } - - const transModel = session.createModel('Transaction'); - const usedTokenIdModel = session.createModel('UsedTokenId'); - - const {err, seqId} = await transModel.add(account, session.requestToJson(), netId); - if (err) { - session.rspErr(500, 'server internal error'); - return; - } - - const nowTime = utils.getUtcTime(); - const transId = bcutils.genTransId - ( - bcconst.BC_FUNC_COMMON, - nowTime, - seqId, - [ - ] - ); - await transModel.update - ( - seqId, - [ - ['trans_id', transId] - ]); - const nonce = transId; - const orderId = transId; - const nftAddresses = []; - const amounts = []; - const values = [orderId, price, nowTime, nonce]; - { - for (let i = 0; i < ids.length; ++i) { - nftAddresses.push(bc.getContractAddressByName('PLANET')); - amounts.push(1); - } - } - 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]; - } - } - console.log([ - currency, - account, - ...nftAddresses, - ...signArr - ]); - const signature = await bc.soliditySha3Sign( - currency, - account, - ...nftAddresses, - ...signArr - ); - - const rspParams = [ - currency, - utils.jsonEncode(nftAddresses), - utils.jsonEncode(ids), - utils.jsonEncode(amounts), - utils.jsonEncode(values), - signature - ]; - utils.arrayToStrings(rspParams); - - session.rspData({ - 'trans_id' : transId, - 'order_id': orderId, - 'params': rspParams - }); - } catch (e) { - session.rspErr(1, 1); - utils.safeDumpErrStack(e); - console.log(e); - } -} - -function init() { - app.registerHandler('BeNftMallTrans', 'buyPlanet', buyPlanet); -} - -exports.init = init; diff --git a/server/web3webhooks/controllers/claim_box.js b/server/web3webhooks/controllers/claim_box.js deleted file mode 100644 index 0d21657..0000000 --- a/server/web3webhooks/controllers/claim_box.js +++ /dev/null @@ -1,92 +0,0 @@ -const app = require('j7/app'); -const utils = require('j7/utils'); -const bcutils = require('j7/bcutils'); -const bcconst = require('common/bcconst'); -const metaFactory = require('../metadata/factory'); -const serviceFactory = require('../services/factory'); - -async function claim(session) { - try { - const account = bcutils.toNormalAddress(session.request('account', '')); - const netId = session.request('net_id'); - const bc = serviceFactory.create('BlockChain'); - { - const ret = await bc.init(netId); - if (!ret) { - session.rspErr(500, 'net_id error'); - return; - } - } - { - if (!bc.isValidAddress(account)) { - session.rspErr(500, 'account error'); - return; - } - } - - const nftAddress = bc.getNftAddress(bcconst.BC_NFT_CLAIM_BOX); - - const transModel = session.createModel('Transaction'); - const usedTokenIdModel = session.createModel('UsedTokenId'); - - const {err, seqId} = await transModel.add(account, session.requestToJson(), netId); - if (err) { - session.rspErr(500, 'server internal error'); - return; - } - - const nowTime = utils.getUtcTime(); - const tokenId = bcutils.genTokenId( - 2006, - bcconst.BC_FUNC_COMMON, - nowTime, - 1, - seqId - ); - const transId = bcutils.genTransId - ( - bcconst.BC_TRANS_FUNC_COMMON, - nowTime, - seqId, - [ - tokenId - ] - ); - await transModel.update - ( - seqId, - [ - ['trans_id', transId] - ]); - const nonce = transId; - const signature = await bc.soliditySha3Sign( - account, - nftAddress, - nowTime, - nonce - ); - - const rspParams = [ - nftAddress, - nowTime, - nonce, - signature - ]; - utils.arrayToStrings(rspParams); - - session.rspData({ - 'trans_id' : transId, - 'params': rspParams - }); - } catch (e) { - session.rspErr(1, 1); - utils.safeDumpErrStack(e); - console.log(e); - } -} - -function init() { - app.registerHandler('ClaimBox', 'claim', claim); -} - -exports.init = init; diff --git a/server/web3webhooks/controllers/factory.js b/server/web3webhooks/controllers/factory.js index 6b0cf51..c4369a7 100644 --- a/server/web3webhooks/controllers/factory.js +++ b/server/web3webhooks/controllers/factory.js @@ -6,11 +6,6 @@ function add(name) { } async function init() { - //add('claim_box'); - add('activate721nft'); - //add('game_item_mall'); - //add('game_item_market'); - //add('benftmall_trans'); } exports.init = init; diff --git a/server/web3webhooks/controllers/game_item_mall.js b/server/web3webhooks/controllers/game_item_mall.js deleted file mode 100644 index e8c1895..0000000 --- a/server/web3webhooks/controllers/game_item_mall.js +++ /dev/null @@ -1,99 +0,0 @@ -const app = require('j7/app'); -const utils = require('j7/utils'); -const bcutils = require('j7/bcutils'); -const bcconst = require('common/bcconst'); -const contract = require('common/contract'); -const serviceFactory = require('../services/factory'); - -async function buy(session) { - try { - const account = bcutils.toNormalAddress(session.request('account', '')); - const netId = session.request('net_id'); - const price = session.request('price'); - const currencyName = session.request('currency_name'); - const bc = serviceFactory.create('BlockChain'); - { - const ret = await bc.init(netId); - if (!ret) { - session.rspErr(500, 'net_id error'); - return; - } - } - { - if (!bc.isValidAddress(account)) { - session.rspErr(500, 'account error'); - return; - } - } - - const currency = bc.getCurrencyAddressByName(currencyName); - const userAddress = bc.getUserAddress(); - { - if (!bc.isValidAddress(currency)) { - session.rspErr(500, 'ceg error'); - return; - } - } - - const transModel = session.createModel('Transaction'); - const usedTokenIdModel = session.createModel('UsedTokenId'); - - const {err, seqId} = await transModel.add(account, session.requestToJson(), netId); - if (err) { - session.rspErr(500, 'server internal error'); - return; - } - - const nowTime = utils.getUtcTime(); - const transId = bcutils.genTransId - ( - bcconst.BC_FUNC_COMMON, - nowTime, - seqId, - [ - ] - ); - await transModel.update - ( - seqId, - [ - ['trans_id', transId] - ]); - const nonce = transId; - const orderId = transId; - const signature = await bc.soliditySha3Sign( - account, - orderId, - currency, - price, - nowTime, - nonce - ); - - const rspParams = [ - orderId, - currency, - price, - nowTime, - nonce, - signature - ]; - utils.arrayToStrings(rspParams); - - session.rspData({ - 'trans_id' : transId, - 'order_id': orderId, - 'params': rspParams - }); - } catch (e) { - session.rspErr(1, 1); - utils.safeDumpErrStack(e); - console.log(e); - } -} - -function init() { - app.registerHandler('GameItemMall', 'buy', buy); -} - -exports.init = init; diff --git a/server/web3webhooks/controllers/game_item_market.js b/server/web3webhooks/controllers/game_item_market.js deleted file mode 100644 index 4ab32d7..0000000 --- a/server/web3webhooks/controllers/game_item_market.js +++ /dev/null @@ -1,107 +0,0 @@ -const app = require('j7/app'); -const utils = require('j7/utils'); -const bcutils = require('j7/bcutils'); -const bcconst = require('common/bcconst'); -const contract = require('common/contract'); -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 currencyName = session.request('currency_name'); - const orderId = session.request('order_id'); - const bc = serviceFactory.create('BlockChain'); - { - const ret = await bc.init(netId); - if (!ret) { - session.rspErr(500, 'net_id error'); - return; - } - } - { - if (!bc.isValidAddress(account)) { - session.rspErr(500, 'account error'); - return; - } - } - { - if (!bc.isValidAddress(seller)) { - session.rspErr(500, 'seller error'); - return; - } - } - - const currency = bc.getCurrencyAddressByName(currencyName); - const userAddress = bc.getUserAddress(); - { - if (!bc.isValidAddress(currency)) { - session.rspErr(500, 'currency error'); - return; - } - } - - const transModel = session.createModel('Transaction'); - const usedTokenIdModel = session.createModel('UsedTokenId'); - - const {err, seqId} = await transModel.add(account, session.requestToJson(), netId); - if (err) { - session.rspErr(500, 'server internal error'); - return; - } - - const nowTime = utils.getUtcTime(); - const transId = bcutils.genTransId - ( - bcconst.BC_FUNC_COMMON, - nowTime, - seqId, - [ - ] - ); - await transModel.update - ( - seqId, - [ - ['trans_id', transId] - ]); - const nonce = transId; - const signature = await bc.soliditySha3Sign( - account, - seller, - orderId, - currency, - price, - nowTime, - nonce - ); - - const rspParams = [ - orderId, - seller, - currency, - price, - nowTime, - nonce, - signature - ]; - utils.arrayToStrings(rspParams); - - session.rspData({ - 'trans_id' : transId, - 'params': rspParams - }); - } catch (e) { - session.rspErr(1, 1); - utils.safeDumpErrStack(e); - console.log(e); - } -} - -function init() { - app.registerHandler('GameItemMarket', 'buy', buy); -} - -exports.init = init;