This commit is contained in:
aozhiwei 2024-07-26 10:01:04 +08:00
parent 8d8d639990
commit 3e8908628f

View File

@ -2,6 +2,7 @@ const app = require('j7/app');
const utils = require('j7/utils'); const utils = require('j7/utils');
const bcutils = require('j7/bcutils'); const bcutils = require('j7/bcutils');
const bcconst = require('common/bcconst'); const bcconst = require('common/bcconst');
const bccontract = require('common/contract');
const metaFactory = require('../metadata/factory'); const metaFactory = require('../metadata/factory');
const serviceFactory = require('../services/factory'); const serviceFactory = require('../services/factory');
@ -33,29 +34,58 @@ async function recharge(session) {
return; return;
} }
} }
const contractMeta = bc.getContractByName(currencyName);
if (!contractMeta) {
session.rspErr(500, 'currency meta not found');
return;
}
console.log(contractMeta);
if (contractMeta['type'] != 'erc20') {
session.rspErr(500, 'currency meta type error');
return;
}
const calls = []; const calls = [];
{ {
const contractMeta = bc.getContractByName(currencyName);
if (!contractMeta) {
session.rspErr(500, 'currency meta not found');
return;
}
console.log(contractMeta);
if (contractMeta['type'] != 'erc20') {
session.rspErr(500, 'currency meta type error');
return;
}
const instance = bc.getInstanceByName(currencyName); const instance = bc.getInstanceByName(currencyName);
if (!instance) { if (!instance) {
session.rspErr(500, 'currency error'); session.rspErr(500, 'currency error');
return; return;
} }
let data = instance.methods.approve let data = instance.methods.approve(
(
spender, spender,
value).encodeABI(); value).encodeABI();
calls.push({
'trans_id' : '',
'trans_req': {
'to': bcutils.toNormalAddress(contractMeta['address']),
'data': data
}
});
}
{
const contractMeta = bc.getContractByName(bccontract.GameItemMall_INSTANCE_NAME);
if (!contractMeta) {
session.rspErr(500, 'gamemall meta not found');
return;
}
const instance = bc.getInstanceByName(bccontract.GameItemMall_INSTANCE_NAME);
if (!instance) {
session.rspErr(500, 'gamemall error');
return;
}
let data = instance.methods.buy(
spender,
value).encodeABI();
calls.push({
'trans_id' : '',
'trans_req': {
'to': bcutils.toNormalAddress(contractMeta['address']),
'data': data
}
});
} }
session.rspData({ session.rspData({