hexdec($addressversion)) { return false; } $check=substr($addr,0,strlen($addr)-8); $check=pack("H*" , $check); $check=strtoupper(hash("sha256",hash("sha256",$check,true))); $check=substr($check,0,8); return $check==substr($addr,strlen($addr)-8); } function hash160($data) { $data=pack("H*" , $data); return strtoupper(hash("ripemd160",hash("sha256",$data,true))); } function pubKeyToAddress($pubkey) { return hash160ToAddress(hash160($pubkey)); } function remove0x($string) { if(substr($string,0,2)=="0x"||substr($string,0,2)=="0X") { $string=substr($string,2); } return $string; } // version is used for multi algo coins function versionToAlgo($coin, $version) { $algos['MYR'] = array( 0=>'sha256', 1=>'scrypt', 2=>'groestl', 3=>'skein', 4=>'qubit' ); $algos['DGB'] = array( 0=>'scrypt', 1=>'sha256', 2=>'groestl', 3=>'skein', 4=>'qubit' ); $algos['J'] = array( 2 =>'sha256', 3=>'x11', 4=>'x13', 5=>'x15', 6=>'scrypt', 7 =>'nist5', 8 =>'groestl', 9=>'penta', 10=>'whirl', 11=>'luffa', 12=>'keccak', 13=>'quark', 15=>'bastion' ); if ($coin->symbol == 'DGB' || $coin->symbol == 'MYR') return arraySafeVal($algos[$coin->symbol], ($version >> 9) & 7, ''); else if (isset($algos[$coin->symbol])) return arraySafeVal($algos[$coin->symbol], $version, ''); return false; }