Skip to content

Commit dc66147

Browse files
committed
erc20 ws tx detection
1 parent 8952b14 commit dc66147

File tree

2 files changed

+27
-23
lines changed

2 files changed

+27
-23
lines changed

Diff for: assets_js_bitrequest_polling.js

+1-2
Original file line numberDiff line numberDiff line change
@@ -313,8 +313,7 @@ function ping_eth_node(rpcdata, txhash, erc20) {
313313
input_upper = input.toUpperCase();
314314
if (input_upper.indexOf(address_upper) >= 0) {
315315
var signature_hex = input.slice(2, 10),
316-
address_hex = input.slice(10, 74),
317-
amount_hex = input.slice(74, input.length),
316+
amount_hex = input.slice(74),
318317
tokenValue = hexToNumberString(amount_hex),
319318
txdata = {
320319
"timestamp": r_3.timestamp,

Diff for: assets_js_bitrequest_sockets.js

+26-21
Original file line numberDiff line numberDiff line change
@@ -919,28 +919,33 @@ function web3_erc20_websocket(socket_node, thisaddress) {
919919
params = (dat.params);
920920
if (params) {
921921
var result = params.result,
922-
contractdata = result.data,
923-
cd_hex = contractdata.slice(2),
924-
token_value = hexToNumberString(cd_hex),
925-
token_decimals = request.decimals,
926-
ccval = parseFloat((token_value / Math.pow(10, token_decimals)).toFixed(8));
927-
if (ccval === Infinity) {} else {
928-
var cryptoval = $("#shareccinputmirror > span").text(),
929-
urlamount = parseFloat(cryptoval).toFixed(8),
930-
amountnumber = parseFloat(urlamount),
931-
percent = (ccval / amountnumber) * 100;
932-
if (percent > 70 && percent < 130) { // only scan amounts with a margin less then 20%
933-
var tx_hash = result.transactionHash,
934-
txd = {
935-
"ccval": ccval,
936-
"transactiontime": now() + timezone,
937-
"txhash": tx_hash,
938-
"confirmations": 0,
939-
"setconfirmations": request.set_confirmations,
940-
"ccsymbol": request.currencysymbol
922+
topics = result.topics;
923+
if (topics) {
924+
var topic_address = topics[2];
925+
if (topic_address) {
926+
var topic_address_upper = topic_address.toUpperCase(),
927+
addr_slice = thisaddress.slice(3),
928+
addr_slice_upper = addr_slice.toUpperCase();
929+
if (topic_address_upper.indexOf(addr_slice_upper) >= 0) {
930+
var contractdata = result.data,
931+
cd_hex = contractdata.slice(2),
932+
token_value = hexToNumberString(cd_hex),
933+
token_decimals = request.decimals,
934+
ccval = parseFloat((token_value / Math.pow(10, token_decimals)).toFixed(8));
935+
if (ccval === Infinity) {} else {
936+
var tx_hash = result.transactionHash,
937+
txd = {
938+
"ccval": ccval,
939+
"transactiontime": now() + timezone,
940+
"txhash": tx_hash,
941+
"confirmations": 0,
942+
"setconfirmations": request.set_confirmations,
943+
"ccsymbol": request.currencysymbol
944+
}
945+
pick_monitor(tx_hash, txd);
946+
return
941947
}
942-
pick_monitor(tx_hash, txd);
943-
return
948+
}
944949
}
945950
}
946951
}

0 commit comments

Comments
 (0)