1
This commit is contained in:
parent
632080cdc6
commit
1c7b728d27
@ -1,142 +0,0 @@
|
|||||||
const ethUtil = require('ethereumjs-util');
|
|
||||||
const sigUtil = require('@metamask/eth-sig-util');
|
|
||||||
|
|
||||||
const app = require('j7/app');
|
|
||||||
const utils = require('j7/utils');
|
|
||||||
const bcutils = require('j7/bcutils');
|
|
||||||
const bc = require('../blockchain');
|
|
||||||
const metaFactory = require('../metadata/factory');
|
|
||||||
|
|
||||||
let lastIdx = 0;
|
|
||||||
let tokenTime = utils.getUtcTime();
|
|
||||||
|
|
||||||
function genIdx() {
|
|
||||||
let newIdx = lastIdx;
|
|
||||||
if (newIdx < bcutils.BC_MAX_TOKEN_IDX) {
|
|
||||||
newIdx = lastIdx;
|
|
||||||
++lastIdx;
|
|
||||||
} else {
|
|
||||||
lastIdx = 0;
|
|
||||||
newIdx = lastidx;
|
|
||||||
++tokenTime;
|
|
||||||
}
|
|
||||||
return newIdx;
|
|
||||||
}
|
|
||||||
|
|
||||||
function genTokenId() {
|
|
||||||
const tokenId = bcutils.genTokenId(
|
|
||||||
2006,
|
|
||||||
bcutils.BC_FUNC_PRESENT,
|
|
||||||
utils.getUtcTime(),
|
|
||||||
1,
|
|
||||||
genIdx()
|
|
||||||
);
|
|
||||||
return tokenId;
|
|
||||||
}
|
|
||||||
|
|
||||||
async function isValidItem(session) {
|
|
||||||
const itemId = session.request('item_id');
|
|
||||||
const itemMeta = metaFactory.getMetaByKey('Item', itemId);
|
|
||||||
if (!itemMeta) {
|
|
||||||
session.rspErr(1, 'is not nft');
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
if (itemMeta.getNftType() == bcutils.NONE_TYPE) {
|
|
||||||
session.rspErr(1, 'is not nft');
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
session.rspOk();
|
|
||||||
}
|
|
||||||
|
|
||||||
async function isValidAccount(session) {
|
|
||||||
const account = session.request('account');
|
|
||||||
const valid = bc.isAddress(account);
|
|
||||||
if (!valid) {
|
|
||||||
session.rspErr(1, 'is invalid account');
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
session.rspOk();
|
|
||||||
}
|
|
||||||
|
|
||||||
async function presentItem(session) {
|
|
||||||
const {err, conn} = await app.getDbConn('MarketDb0');
|
|
||||||
if (err) {
|
|
||||||
session.rspErr(500, 'server internal error');
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
const account = bcutils.toNormalAddress(session.request('account'));
|
|
||||||
const uniKey = session.request('unikey');
|
|
||||||
const itemId = session.request('item_id');
|
|
||||||
const itemMeta = metaFactory.getMetaByKey('Item', itemId);
|
|
||||||
if (!itemMeta) {
|
|
||||||
session.rspErr(1, 'is not nft');
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
if (uniKey == null || uniKey == '') {
|
|
||||||
session.rspErr(1, 'unikey error');
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
const tokenType = itemMeta.getNftType();
|
|
||||||
if (tokenType == bcutils.NONE_TYPE) {
|
|
||||||
session.rspErr(1, 'is not nft');
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
const valid = bc.isAddress(account);
|
|
||||||
if (!valid) {
|
|
||||||
session.rspErr(2, 'is invalid account');
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
{
|
|
||||||
const {err, row} = await conn.ormSelectOne(
|
|
||||||
't_mint',
|
|
||||||
[
|
|
||||||
['unikey', uniKey],
|
|
||||||
]
|
|
||||||
);
|
|
||||||
if (err) {
|
|
||||||
session.rspErr(500, 'server internal error');
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
if (row) {
|
|
||||||
session.rspOk();
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
{
|
|
||||||
const nowTime = utils.getUtcTime();
|
|
||||||
const tokenId = genTokenId();
|
|
||||||
const fieldsList = [
|
|
||||||
['bc_mint_tokenid', tokenId],
|
|
||||||
['unikey', uniKey],
|
|
||||||
['account', bcutils.toNormalAddress(account)],
|
|
||||||
['game_id', 2006],
|
|
||||||
|
|
||||||
['bc_mint_itemid', itemId],
|
|
||||||
['bc_mint_token_type', tokenType],
|
|
||||||
['bc_mint_tags', ''],
|
|
||||||
|
|
||||||
['createtime', nowTime],
|
|
||||||
['modifytime', nowTime]
|
|
||||||
];
|
|
||||||
const {err} = await conn.insert(
|
|
||||||
't_mint',
|
|
||||||
fieldsList
|
|
||||||
);
|
|
||||||
if (err) {
|
|
||||||
session.rspErr(500, 'server internal error');
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
session.rspOk();
|
|
||||||
}
|
|
||||||
|
|
||||||
function init() {
|
|
||||||
app.registerHandler('BcService', 'isValidAccount', isValidAccount);
|
|
||||||
app.registerHandler('BcService', 'isValidItem', isValidItem);
|
|
||||||
app.registerHandler('BcService', 'presentItem', presentItem);
|
|
||||||
}
|
|
||||||
|
|
||||||
exports.init = init;
|
|
@ -6,7 +6,6 @@ function add(name) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function init() {
|
function init() {
|
||||||
add('bcservice');
|
|
||||||
}
|
}
|
||||||
|
|
||||||
exports.init = init;
|
exports.init = init;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user