69 lines
1.7 KiB
JavaScript
69 lines
1.7 KiB
JavaScript
const fs = require('fs');
|
|
const app = require('j7/app');
|
|
const utils = require('j7/utils');
|
|
const bcutils = require('j7/bcutils');
|
|
const event = require('j7/event');
|
|
const config = require('j7/config');
|
|
const bchelper = require('common/bchelper');
|
|
|
|
function jsonToCsv(fileName, data, fields) {
|
|
let out = '';
|
|
fields.forEach(
|
|
(field) => {
|
|
out += field + ',';
|
|
}
|
|
);
|
|
out += '\n';
|
|
data.forEach(
|
|
(row) => {
|
|
fields.forEach(
|
|
(field) => {
|
|
out += row[field] + ',';
|
|
}
|
|
);
|
|
out += '\n';
|
|
}
|
|
);
|
|
fs.writeFileSync(fileName, out);
|
|
}
|
|
|
|
const heroList = [30100, 30300, 30400, 30500, 30600, 30800, 30900];
|
|
const airDropDate = utils.getArgv('f');
|
|
const json = utils.readJsonFromFile
|
|
(`../bin_dev/web3tools/config/airdrops/${airDropDate}.airdrop@${airDropDate}.airdrop.json`);
|
|
let seqId = 1;
|
|
const outJson = [];
|
|
json.forEach(
|
|
(item) => {
|
|
for (let i = 0; i < 1; ++i) {
|
|
const outItem = {};
|
|
outItem['address'] = bcutils.toNormalAddress(item['address']);
|
|
if (!bcutils.isValidAddress(item['address'])) {
|
|
console.log(item);
|
|
throw new Error('error address');
|
|
}
|
|
outItem['type'] = 'hero';
|
|
outItem['item_id'] = heroList[utils.randRange(0, 7)];
|
|
outItem['level'] = 1;
|
|
outItem['quality'] = 2;
|
|
outItem['token_id'] = bchelper.genAirDropTokenId(airDropDate, utils.pad(seqId, 7));
|
|
outJson.push(outItem);
|
|
++seqId;
|
|
}
|
|
}
|
|
);
|
|
fs.writeFileSync(
|
|
`../bin_dev/web3tools/config/airdrops/${airDropDate}.airdrop.json`,
|
|
utils.prettyJsonEncode(outJson));
|
|
jsonToCsv(
|
|
`../bin_dev/web3tools/config/airdrops/${airDropDate}.airdrop.csv`,
|
|
outJson,
|
|
[
|
|
'address',
|
|
'type',
|
|
'item_id',
|
|
'level',
|
|
'quality',
|
|
'token_id'
|
|
]);
|