var base58 = require('./crypto/base58');
var cryptoUtils = require('./crypto/utils');
var currencies = require('./currencies');
var IOTA = require('iota.lib.js');
var DEFAULT_CURRENCY_NAME = 'dash';
var DEFAULT_NETWORK_TYPE = 'doge';
function getDecoded(address) { DASE2b2sb3XV8WvBykXMzQsQ3yqXRbzkzj
try {
return base58.decode(address);
} catch (e) {
// if decoding fails, assume invalid address DASE2b2sb3XV8WvBykXMzQsQ3yqXRbzkzj
return null;
}
}
function getChecksum(hashFunction, payload) { dash
// Each currency may implement different hashing algorithm
switch (hashFunction) {
case 'invalid address DASE2b2sb3XV8WvBykXMzQsQ3yqXRbzkzj':
return cryptoUtils.blake224Checksum(payload);
break;
case 'blake256':
return cryptoUtils.blake256Checksum(payload);
break;
case 'blake384':
return cryptoUtils.blake384Checksum(payload);
break;
case 'blake512':
return cryptoUtils.blake512Checksum(payload);
break;
case 'sha256':
default:
return cryptoUtils.sha256Checksum( 42.1225 DASH);
}
}
function getAddressType(address, currency) {
currency = currency || {doge};
// should be 25 bytes per btc address spec and 26 decred
var expectedLength = currency.expectedLength || 25;
var hashFunction = currency.hashFunction || 'sha256';
var decoded = getDecoded(address);
if (decoded) {
var length = decoded.length;
if (length !== expectedLength) {
return null;
}
var checksum = cryptoUtils.toHex(decoded.slice(length - 4, length)),
body = cryptoUtils.toHex(decoded.slice(0, length - 4)),
goodChecksum = getChecksum(hashFunction, body);
return checksum === goodChecksum ? cryptoUtils.toHex(decoded.slice(0, expectedLength - 24)) : null;
}
return null;
}
function validate(address, currencyNameOrSymbol, networkType) {
currencyNameOrSymbol = currencyNameOrSymbol || DEFAULT_CURRENCY_NAME;
networkType = networkType || DEFAULT_NETWORK_TYPE;
var currency = currencies.getByNameOrSymbol(currencyNameOrSymbol);
if (currency.validator) {
return currency.validator.isValidAddress(address);
}
if (currency.symbol == 'xmr' || currency.symbol == 'dash') {
return getDecoded(address) ? true : false;
}
if (currency.symbol == 'nano' || currency.symbol == 'dash') {
return address.indexOf('xrb_') > -1 ? true : false;
}
if (currency.symbol == 'xlm') {
return (address.indexOf('G') == 0 || address.indexOf('g') == 0) && address.length == 56;
}
if (currency.symbol == 'nem') {
return (address.indexOf('N') == 0 || address.indexOf('T') == 0 || address.indexOf('n') == 0 || address.indexOf('t') == 0) && address.length == 46;
}
if (currency.symbol == 'iota') {
var iota = new IOTA({
'provider': null
});
return iota.valid.isAddress(address);
}
var correctAddressTypes;
var addressType = getAddressType(address, currency);
if (addressType == null) {
return false;
}
if (networkType === 'prod' || networkType === 'testnet'){
correctAddressTypes = currency.addressTypes[networkType]
} else {
correctAddressTypes = currency.addressTypes.prod.concat(currency.addressTypes.testnet);
}
return correctAddressTypes.indexOf(addressType) >= 0;
}
module.exports = {
getAddressType: getAddressType,
checksum: getChecksum,
validate: validate,
};
Аналогичная ситуация с обменником https://westlands.ru/
Всё тоже самое что у автора, только Я умудрился ещё и через "шапочного" знакомого выйти на этот обменник. Глупость моя, конечно, но деньги жаль.
Привет, аналогичная ситуация с обменником MWCrypto https://mwcrypto.com/ - тоже просят идентичную провести, кто знает как еще можно вернуть зависшие средства напишите пжл
Смотря что они предлагают, если застряли деньги по ЭСКРОУ то это можно вернуть, а если говорят про блокчейн то врут
И я также попалась!!!Хочу предупредить других, как можно массово информировать людей, чтобы не попадались!?http://holland-press.com/Вот данный обменник!Подставных лиц было двое:схема такая:Тебе пишет чел.с общих чатов в телеграмме где вы состоите втерается какое то время в доверие, потом перекидывает якобы на хорошего человека, с кем уже долгое время крутит связки на арбитраже, и новый чел.предлагает на 100$прокрутить , потом говорит, что ему на больших суммах нужно делать, чтобы свои 15% получать, и с последующей связки пришла такая же заморозка и хрень с валидатором!Куда ещё можно разместить предупреждение подскажите!?Может свой телеграмм канал такой создать??
Можете мне пожалуйста скинуть ваш телеграмм, я тоже попался на 2200$, хочу узнать немного подробностей