Skip to content

Commit

Permalink
remove requirement for sender and tidy up
Browse files Browse the repository at this point in the history
  • Loading branch information
michaeljyeates committed Oct 30, 2018
1 parent 8cdf34e commit a7276da
Showing 1 changed file with 30 additions and 37 deletions.
67 changes: 30 additions & 37 deletions deferredwatcher/deferred_watcher.js
Original file line number Diff line number Diff line change
@@ -1,26 +1,28 @@
const fetch = require("node-fetch");
const fetch = require('node-fetch');
const mongoose = require('mongoose');
const eosjs = require('eosjs');
const {TextEncoder,TextDecoder} = require('util')
const {TextEncoder,TextDecoder} = require('util');

const rpc_endpoint = 'https://eu.eosdac.io';
const url = rpc_endpoint + '/v1/chain/get_scheduled_transactions';
const mongo_uri = 'mongodb://localhost:27017/eos_deferred';

const defaultPrivateKey = "5JtUScZK2XEp3g9gh7F8bwtPTRAkASmNrrftmx4AxDKD5K4zDnr"; // useraaaaaaaa
const signatureProvider = new eosjs.JsSignatureProvider([defaultPrivateKey]);
const rpc = new eosjs.JsonRpc('https://eu.eosdac.io:443', { fetch });
const rpc = new eosjs.JsonRpc(rpc_endpoint, { fetch });


var api = new eosjs.Api({rpc, signatureProvider, textDecoder: new TextDecoder(), textEncoder: new TextEncoder() });


const url = 'http://eu.eosdac.io/v1/chain/get_scheduled_transactions';

let tx_history = {};
mongoose.connect('mongodb://localhost:27017/eos_deferred');
mongoose.connect(mongo_uri);

var Schema = mongoose.Schema;
var deferredSchema = new Schema({
trx_id: { type: String, required:true, index: {unique:true} },
sender: { type: String, required:true, index:true },
sender: { type: String, index:true },
sender_id: String,
payer: String,
delay_until: { type:Date, index:-1 },
Expand Down Expand Up @@ -49,58 +51,49 @@ var Deferred = mongoose.model('Deferred', deferredSchema);

const processTransactions = async transactions => {
transactions.forEach((tx) => {
if (!tx.sender){
console.log(tx);
}
var eq = Deferred.where({trx_id:tx.trx_id});
var tx_obj = new Deferred(tx);

eq.findOne((err, existing) => {
if (err){
tx_obj.save(function (err, saved) {
if (err && err.name === 'MongoError' && err.code === 11000) {
// We have it
}
else if (err) {return console.error(err);}

//console.log(saved.trx_id + " saved to deferred");
});
if (err || !existing){
console.log('Adding new transaction ' + tx.trx_id);
tx_obj.save(function (err, saved) {
if (err) {return console.error(err);}
});
}

});
tx_obj.save(function (err, saved) {
if (err && err.name === 'MongoError' && err.code === 11000) {
// We have it
}
else if (err) {return console.error(err);}

//console.log(saved.trx_id + " saved to deferred");
});
tx_history[tx.trx_id] = tx;
});
};

const process = async lower => {
try {
lower = lower || '';
const body = '{"lower_bound":"'+lower+'", "limit":100}';
const response = await fetch(url, { method: 'POST', body: body });
const json = await response.json();
try {
const response = await fetch(url, { method: 'POST', body: body });
const json = await response.json();

processTransactions(json.transactions);
processTransactions(json.transactions);

if (json.more){
process(json.more);
if (json.more){
process(json.more);
}
else {
setTimeout(() => {process()}, 5000);
console.log("Restarting");
//process();
}
}
else {
setTimeout(process, 5000);
console.log("Restarting");
//process();
catch (e){
console.error(e);
setTimeout(() => {process(lower)}, 5000);
return;
}

//console.log(json);
} catch (error) {
console.log(error);
console.error(error);
}
};

Expand Down

0 comments on commit a7276da

Please sign in to comment.