def change_version_byte(address, new_version=None, new_crypto=None):
if not new_version and new_crypto:<EOL><INDENT>try:<EOL><INDENT>new_version = crypto_data[new_crypto]['<STR_LIT>']<EOL><DEDENT>except KeyError:<EOL><INDENT>raise CurrencyNotSupported("<STR_LIT>" + new_crypto)<EOL><DEDENT>if not new_version:<EOL><INDENT>raise CurrencyNotSupported("<STR_LIT>" % new_crypto)<EOL><DEDENT><DEDENT>payload = b58decode_check(address)[<NUM_LIT:1>:]<EOL>if is_py2:<EOL><INDENT>byte = chr(new_version)<EOL><DEDENT>else:<EOL><INDENT>byte = bytes(chr(new_version), '<STR_LIT:ascii>')<EOL><DEDENT>return b58encode_check(byte + payload)<EOL>
Convert the passed in address (or any base58 encoded string), and change the
version byte to `new_version`.