1
This commit is contained in:
parent
ea9d3d997a
commit
b2ff69bac2
88
server/web3dbspider/services/events/BENftMarket/buy_order.js
Normal file
88
server/web3dbspider/services/events/BENftMarket/buy_order.js
Normal file
@ -0,0 +1,88 @@
|
|||||||
|
const log = require('j7/log');
|
||||||
|
const app = require('j7/app');
|
||||||
|
const bcutils = require('j7/bcutils');
|
||||||
|
const utils = require('j7/utils');
|
||||||
|
const j7event = require('j7/event');
|
||||||
|
const metaFactory = require('../../metadata/factory');
|
||||||
|
const C = require('../../C');
|
||||||
|
const gameapi = require('../gameapi');
|
||||||
|
const http = require('j7/http');
|
||||||
|
const config = require('j7/config');
|
||||||
|
|
||||||
|
const BASE_URL = config('market_api');
|
||||||
|
|
||||||
|
/*
|
||||||
|
// 操作成功的事件ß
|
||||||
|
event BuyOrder(
|
||||||
|
uint256 indexed tokenId,
|
||||||
|
uint256 orderId,
|
||||||
|
address nftToken,
|
||||||
|
uint256 amount,
|
||||||
|
address seller,
|
||||||
|
address buyer,
|
||||||
|
address erc20,
|
||||||
|
uint256 price
|
||||||
|
);
|
||||||
|
*/
|
||||||
|
|
||||||
|
class BuyOrder {
|
||||||
|
|
||||||
|
async start(instance, conn, event) {
|
||||||
|
this.instance = instance;
|
||||||
|
this.conn = conn;
|
||||||
|
this.event = event;
|
||||||
|
|
||||||
|
console.log('BuyOrder', event);
|
||||||
|
const blockNumber = event['blockNumber'];
|
||||||
|
const returnValues = event['returnValues'];
|
||||||
|
|
||||||
|
const tokenId = returnValues['tokenId'];
|
||||||
|
const orderId = returnValues['orderId'];
|
||||||
|
const nftToken = returnValues['nftToken'];
|
||||||
|
const amount = returnValues['amount'];
|
||||||
|
const seller = returnValues['seller'];
|
||||||
|
const buyer = returnValues['buyer'];
|
||||||
|
const erc20 = returnValues['erc20'];
|
||||||
|
const price = returnValues['price'];
|
||||||
|
|
||||||
|
while (true) {
|
||||||
|
try {
|
||||||
|
const {err, data} = await http.get
|
||||||
|
(BASE_URL,
|
||||||
|
{
|
||||||
|
'c': 'Market',
|
||||||
|
'a': 'eventBuyOrder',
|
||||||
|
'tokenId': tokenId,
|
||||||
|
'orderId': orderId,
|
||||||
|
'nftToken': nftToken,
|
||||||
|
'amount': amount,
|
||||||
|
'seller': seller,
|
||||||
|
'buyer': buyer,
|
||||||
|
'erc20': erc20,
|
||||||
|
'price': price
|
||||||
|
});
|
||||||
|
console.log(err, data);
|
||||||
|
if (!data) {
|
||||||
|
throw 'data is empty5';
|
||||||
|
}
|
||||||
|
if (data['errcode'] == 0 ||
|
||||||
|
data['errcode'] == 1) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
} catch (e) {
|
||||||
|
log.error(e);
|
||||||
|
}
|
||||||
|
await utils.sleep(3000 + utils.randRange(500, 1500));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
throwError(err) {
|
||||||
|
const errMsg = 'processBuyOrderEvent:' +
|
||||||
|
utils.jsonEncode(this.instance) +
|
||||||
|
' err:' + err;
|
||||||
|
throw errMsg;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports = BuyOrder;
|
@ -0,0 +1,72 @@
|
|||||||
|
const log = require('j7/log');
|
||||||
|
const app = require('j7/app');
|
||||||
|
const bcutils = require('j7/bcutils');
|
||||||
|
const utils = require('j7/utils');
|
||||||
|
const j7event = require('j7/event');
|
||||||
|
const metaFactory = require('../../metadata/factory');
|
||||||
|
const C = require('../../C');
|
||||||
|
const gameapi = require('../gameapi');
|
||||||
|
const http = require('j7/http');
|
||||||
|
const config = require('j7/config');
|
||||||
|
|
||||||
|
const BASE_URL = config('market_api');
|
||||||
|
|
||||||
|
/*
|
||||||
|
// 操作成功的事件
|
||||||
|
event CancelOrder(
|
||||||
|
uint256 indexed orderId,
|
||||||
|
address indexed nftToken,
|
||||||
|
uint256 indexed tokenId
|
||||||
|
);
|
||||||
|
*/
|
||||||
|
|
||||||
|
class CancelOrder {
|
||||||
|
|
||||||
|
async start(instance, conn, event) {
|
||||||
|
this.instance = instance;
|
||||||
|
this.conn = conn;
|
||||||
|
this.event = event;
|
||||||
|
|
||||||
|
console.log('CancelOrder', event);
|
||||||
|
const blockNumber = event['blockNumber'];
|
||||||
|
const returnValues = event['returnValues'];
|
||||||
|
|
||||||
|
const orderId = returnValues['orderId'];
|
||||||
|
const nftToken = returnValues['nftToken'];
|
||||||
|
const tokenId = returnValues['tokenId'];
|
||||||
|
|
||||||
|
while (true) {
|
||||||
|
try {
|
||||||
|
const {err, data} = await http.get(BASE_URL,
|
||||||
|
{
|
||||||
|
'c': 'Market',
|
||||||
|
'a': 'eventCancelOrder',
|
||||||
|
'orderId': orderId,
|
||||||
|
'nftToken': nftToken,
|
||||||
|
'tokenId': tokenId,
|
||||||
|
});
|
||||||
|
console.log(err, data);
|
||||||
|
if (!data) {
|
||||||
|
throw 'data is empty3';
|
||||||
|
}
|
||||||
|
if (data['errcode'] == 0 ||
|
||||||
|
data['errcode'] == 1) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
} catch (e) {
|
||||||
|
log.error(e);
|
||||||
|
}
|
||||||
|
await utils.sleep(3000 + utils.randRange(500, 1500));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
throwError(err) {
|
||||||
|
const errMsg = 'processCancelOrderEvent:' +
|
||||||
|
utils.jsonEncode(this.instance) +
|
||||||
|
' err:' + err;
|
||||||
|
throw errMsg;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports = CancelOrder;
|
@ -0,0 +1,78 @@
|
|||||||
|
const log = require('j7/log');
|
||||||
|
const app = require('j7/app');
|
||||||
|
const bcutils = require('j7/bcutils');
|
||||||
|
const utils = require('j7/utils');
|
||||||
|
const j7event = require('j7/event');
|
||||||
|
const metaFactory = require('../../metadata/factory');
|
||||||
|
const C = require('../../C');
|
||||||
|
const gameapi = require('../gameapi');
|
||||||
|
const http = require('j7/http');
|
||||||
|
const config = require('j7/config');
|
||||||
|
|
||||||
|
const BASE_URL = config('market_api');
|
||||||
|
|
||||||
|
/*
|
||||||
|
// 操作成功的事件
|
||||||
|
event PriceUpdate(
|
||||||
|
uint256 indexed orderId,
|
||||||
|
address indexed nftToken,
|
||||||
|
uint256 indexed tokenId,
|
||||||
|
uint256 priceOld,
|
||||||
|
uint256 price
|
||||||
|
);
|
||||||
|
*/
|
||||||
|
|
||||||
|
class PriceUpdateOrder {
|
||||||
|
|
||||||
|
async start(instance, conn, event) {
|
||||||
|
this.instance = instance;
|
||||||
|
this.conn = conn;
|
||||||
|
this.event = event;
|
||||||
|
|
||||||
|
console.log('PriceUpdateOrder', event);
|
||||||
|
const blockNumber = event['blockNumber'];
|
||||||
|
const returnValues = event['returnValues'];
|
||||||
|
|
||||||
|
const orderId = returnValues['orderId'];
|
||||||
|
const nftToken = returnValues['nftToken'];
|
||||||
|
const tokenId = returnValues['tokenId'];
|
||||||
|
const priceOld = returnValues['priceOld'];
|
||||||
|
const price = returnValues['price'];
|
||||||
|
|
||||||
|
while (true) {
|
||||||
|
try {
|
||||||
|
const {err, data} = await http.get(BASE_URL,
|
||||||
|
{
|
||||||
|
'c': 'Market',
|
||||||
|
'a': 'eventPriceUpdateOrder',
|
||||||
|
'orderId': orderId,
|
||||||
|
'nftToken': nftToken,
|
||||||
|
'tokenId': tokenId,
|
||||||
|
'priceOld': priceOld,
|
||||||
|
'price': price
|
||||||
|
});
|
||||||
|
console.log(err, data);
|
||||||
|
if (!data) {
|
||||||
|
throw 'data is empty4';
|
||||||
|
}
|
||||||
|
if (data['errcode'] == 0 ||
|
||||||
|
data['errcode'] == 1) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
} catch (e) {
|
||||||
|
log.error(e);
|
||||||
|
}
|
||||||
|
await utils.sleep(3000 + utils.randRange(500, 1500));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
throwError(err) {
|
||||||
|
const errMsg = 'processPriceUpdateOrderEvent:' +
|
||||||
|
utils.jsonEncode(this.instance) +
|
||||||
|
' err:' + err;
|
||||||
|
throw errMsg;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports = PriceUpdateOrder;
|
@ -0,0 +1,88 @@
|
|||||||
|
const log = require('j7/log');
|
||||||
|
const app = require('j7/app');
|
||||||
|
const bcutils = require('j7/bcutils');
|
||||||
|
const utils = require('j7/utils');
|
||||||
|
const j7event = require('j7/event');
|
||||||
|
const metaFactory = require('../../metadata/factory');
|
||||||
|
const C = require('../../C');
|
||||||
|
const gameapi = require('../gameapi');
|
||||||
|
const http = require('j7/http');
|
||||||
|
const config = require('j7/config');
|
||||||
|
|
||||||
|
const BASE_URL = config('market_api');
|
||||||
|
|
||||||
|
/*
|
||||||
|
// 操作成功的事件
|
||||||
|
event SellOrder(
|
||||||
|
uint256 indexed tokenId,
|
||||||
|
address indexed owner,
|
||||||
|
address indexed nftToken,
|
||||||
|
uint256 amount,
|
||||||
|
uint256 orderId,
|
||||||
|
address currency,
|
||||||
|
uint256 price
|
||||||
|
);
|
||||||
|
*/
|
||||||
|
|
||||||
|
class SellOrder {
|
||||||
|
|
||||||
|
async start(instance, conn, event) {
|
||||||
|
this.instance = instance;
|
||||||
|
this.conn = conn;
|
||||||
|
this.event = event;
|
||||||
|
|
||||||
|
console.log('SellOrder', event);
|
||||||
|
const blockNumber = event['blockNumber'];
|
||||||
|
const returnValues = event['returnValues'];
|
||||||
|
|
||||||
|
const tokenId = returnValues['tokenId'];
|
||||||
|
const owner = returnValues['owner'];
|
||||||
|
const nftToken = returnValues['nftToken'];
|
||||||
|
const amount = returnValues['amount'];
|
||||||
|
const orderId = returnValues['orderId'];
|
||||||
|
const currency = returnValues['currency'];
|
||||||
|
const price = returnValues['price'];
|
||||||
|
|
||||||
|
while (true) {
|
||||||
|
try {
|
||||||
|
const {err, data} = await http.get
|
||||||
|
(BASE_URL,
|
||||||
|
{
|
||||||
|
'c': 'Market',
|
||||||
|
'a': 'eventSellOrder',
|
||||||
|
'tokenId': tokenId,
|
||||||
|
'owner': owner,
|
||||||
|
'nftToken': nftToken,
|
||||||
|
'amount': amount,
|
||||||
|
'orderId': orderId,
|
||||||
|
'currency': currency,
|
||||||
|
'price': price
|
||||||
|
});
|
||||||
|
if (err) {
|
||||||
|
throw err;
|
||||||
|
}
|
||||||
|
console.log(err, data);
|
||||||
|
if (!data) {
|
||||||
|
throw 'data is empty2';
|
||||||
|
}
|
||||||
|
if (data['errcode'] == 0 ||
|
||||||
|
data['errcode'] == 1) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
} catch (e) {
|
||||||
|
log.error(e);
|
||||||
|
}
|
||||||
|
await utils.sleep(3000 + utils.randRange(500, 1500));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
throwError(err) {
|
||||||
|
const errMsg = 'processSellOrderEvent:' +
|
||||||
|
utils.jsonEncode(this.instance) +
|
||||||
|
' err:' + err;
|
||||||
|
throw errMsg;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports = SellOrder;
|
@ -0,0 +1,72 @@
|
|||||||
|
const log = require('j7/log');
|
||||||
|
const app = require('j7/app');
|
||||||
|
const bcutils = require('j7/bcutils');
|
||||||
|
const utils = require('j7/utils');
|
||||||
|
const j7event = require('j7/event');
|
||||||
|
const metaFactory = require('../../metadata/factory');
|
||||||
|
const C = require('../../C');
|
||||||
|
const gameapi = require('../gameapi');
|
||||||
|
|
||||||
|
/*
|
||||||
|
操作成功的事件
|
||||||
|
event ItemSoldOut(
|
||||||
|
address indexed buyer,
|
||||||
|
uint256 indexed orderId,
|
||||||
|
address currency,
|
||||||
|
uint256 price
|
||||||
|
);
|
||||||
|
*/
|
||||||
|
|
||||||
|
class GameItemMallBuy {
|
||||||
|
|
||||||
|
async start(instance, conn, event) {
|
||||||
|
console.log('GameItemMallBuy', event);
|
||||||
|
const blockNumber = event['blockNumber'];
|
||||||
|
const returnValues = event['returnValues'];
|
||||||
|
const transId = returnValues['orderId'];
|
||||||
|
const orderId = returnValues['orderId'];
|
||||||
|
|
||||||
|
if (orderId != transId) {
|
||||||
|
//this.throwError('error orderId:' + utils.jsonEncode(returnValues));
|
||||||
|
//return;
|
||||||
|
}
|
||||||
|
const a = 'dispatch';
|
||||||
|
while (true) {
|
||||||
|
try {
|
||||||
|
const {err, data} = await gameapi.callApi
|
||||||
|
(
|
||||||
|
'Callback',
|
||||||
|
a,
|
||||||
|
{
|
||||||
|
'action': 'gameItemMallBuyOk',
|
||||||
|
'trans_id': transId,
|
||||||
|
'order_id': orderId,
|
||||||
|
}
|
||||||
|
);
|
||||||
|
if (err) {
|
||||||
|
throw err;
|
||||||
|
}
|
||||||
|
console.log(data);
|
||||||
|
if (!data) {
|
||||||
|
throw 'data is empty1';
|
||||||
|
}
|
||||||
|
if (data['errcode'] == 0 ||
|
||||||
|
data['errcode'] == 1 ||
|
||||||
|
data['errcode'] == 2) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
} catch (e) {
|
||||||
|
log.error(e);
|
||||||
|
}
|
||||||
|
await utils.sleep(3000 + utils.randRange(500, 1500));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
throwError(instance, err) {
|
||||||
|
const errMsg = 'GameItemMallBuy:' + utils.jsonEncode(instance) + ' err:' + err;
|
||||||
|
throw errMsg;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports = GameItemMallBuy;
|
Loading…
x
Reference in New Issue
Block a user