new AGC_Cryptocurrency('BTC', 'Bitcoin', 8, 'bitcoin_logo_small.png', 1800, '₿',true), 'DOGE' => new AGC_Cryptocurrency('DOGE', 'Dogecoin', 8, 'dogecoin_logo_small.png', 1800, 'Ð',false), 'ETH' => new AGC_Cryptocurrency('ETH', 'Ethereum', 18, 'ethereum_logo_small.png', 1800, 'Ξ',false), 'LTC' => new AGC_Cryptocurrency('LTC', 'Litecoin', 8, 'litecoin_logo_small.png', 1800, 'Ł',false), 'XMR' => new AGC_Cryptocurrency('XMR', 'Monero', 12, 'monero_logo_small.png', 1800, 'ɱ',false), 'ZEC' => new AGC_Cryptocurrency('ZEC', 'Zcash', 8, 'zcash_logo_small.png', 1800, 'ⓩ',false), 'DASH' => new AGC_Cryptocurrency('DASH', 'Dash', 8, 'dash_logo_small.png', 1800, '',false), 'XRP' => new AGC_Cryptocurrency('XRP', 'Ripple', 6, 'ripple_logo_small.png', 1800, '',false), 'BCH' => new AGC_Cryptocurrency('BCH', 'Bitcoin Cash', 8, 'bitcoincash_logo_small.png', 1800, '',false), 'ONION' => new AGC_Cryptocurrency('ONION', 'DeepOnion', 8, 'deeponion_logo_small.png', 1800, '',false), 'BLK' => new AGC_Cryptocurrency('BLK', 'BlackCoin', 8, 'blackcoin_logo_small.png', 1800, '',false), 'VRC' => new AGC_Cryptocurrency('VRC', 'Vericoin', 8, 'vericoin_logo_small.png', 1800, '',false), 'ETC' => new AGC_Cryptocurrency('ETC', 'Ethereum Classic', 18, 'ethereumclassic_logo_small.png', 1800, '',false), 'REP' => new AGC_Cryptocurrency('REP', 'Augur', 18, 'augur_logo_small.png', 1800, '',false), 'BTG' => new AGC_Cryptocurrency('BTG', 'Bitcoin Gold', 8, 'bitcoingold_logo_small.png', 1800, '',false), ); return $cryptoArray; } public static function is_valid_wallet_address($cryptoId, $address) { if ($cryptoId === 'BTC') { return preg_match('/[13][a-km-zA-HJ-NP-Z0-9]{26,42}|bc[a-z0-9]{8,87}/', $address); } if ($cryptoId === 'ETH') { return preg_match('/0x[a-fA-F0-9]{40,42}/', $address); } if ($cryptoId === 'XMR') { return preg_match('/4[0-9AB][1-9A-HJ-NP-Za-km-z]{93}/', $address); } if ($cryptoId === 'DOGE'){ return preg_match('/D{1}[5-9A-HJ-NP-U]{1}[1-9A-HJ-NP-Za-km-z]{32}/', $address); } if ($cryptoId === 'LTC') { return preg_match('/[LM3][a-km-zA-HJ-NP-Z1-9]{26,33}|l[a-z0-9]{8,87}/', $address); } if ($cryptoId === 'ZEC') { $isTAddr = preg_match('/t1[a-zA-Z0-9]{33,36}/', $address); $isZAddr = preg_match('/z[a-zA-Z0-9]{90,96}/', $address); return $isTAddr || $isZAddr; } if ($cryptoId === 'BCH') { $isOldAddress = preg_match('/[13][a-km-zA-HJ-NP-Z1-9]{25,42}/', $address); $isNewAddress1 = preg_match('/(q|p)[a-z0-9]{41}/', $address); $isNewAddress2 = preg_match('/(Q|P)[A-Z0-9]{41}/', $address); return $isOldAddress || $isNewAddress1 || $isNewAddress2; } if ($cryptoId === 'DASH') { return preg_match('/X[1-9A-HJ-NP-Za-km-z]{33}/', $address); } if ($cryptoId === 'XRP') { return preg_match('/r[0-9a-zA-Z]{33}/', $address); } if ($cryptoId === 'ONION') { return preg_match('/D[0-9a-zA-Z]{33}/', $address); } if ($cryptoId === 'BLK') { return preg_match('/B[0-9a-zA-Z]{32,36}/', $address); } if ($cryptoId === 'VRC') { return preg_match('/V[0-9a-zA-Z]{32,36}/', $address); } if ($cryptoId === 'ETC') { return preg_match('/0x[a-fA-F0-9]{40,42}/', $address); } if ($cryptoId === 'REP') { return preg_match('/0x[a-fA-F0-9]{40,42}/', $address); } if ($cryptoId === 'BTG') { return preg_match('/[AG][a-km-zA-HJ-NP-Z0-9]{26,42}|bt[a-z0-9]{8,87}/', $address); } return true; } } ?>