# Path: pycoind/util/hash.py
# def sha256d(data):
#     return sha256(sha256(data))


from .hash import sha256d

    # Bitcoin does a little leading-zero-compression:                                                                                                                  
    # leading 0-bytes in the input become leading-1s                                                                                                                   
    nPad = 0
    for c in v:
        if c == '\0':
            nPad += 1
        else:
            break

    return (__b58chars[0] * nPad) + result


def b58decode(v, length = None):
    "decode v into a string of len bytes"

    long_value = 0L
    for (i, c) in enumerate(v[::-1]):
        long_value += __b58chars.find(c) * (__b58base ** i)

    result = ''
    while long_value >= 256:
        (div, mod) = divmod(long_value, 256)
        result = chr(mod) + result
        long_value = div
    result = chr(long_value) + result

    nPad = 0
    for c in v:
        if c == __b58chars[0]:

# Path: pycoind/util/hash.py
# def sha256d(data):
#     return sha256(sha256(data))


# Path: pycoind/util/base58.py
from .hash import sha256d


    # Bitcoin does a little leading-zero-compression:                                                                                                                  
    # leading 0-bytes in the input become leading-1s                                                                                                                   
    nPad = 0
    for c in v:
        if c == '\0':
            nPad += 1
        else:
            break

    return (__b58chars[0] * nPad) + result


def b58decode(v, length = None):
    "decode v into a string of len bytes"

    long_value = 0L
    for (i, c) in enumerate(v[::-1]):
        long_value += __b58chars.find(c) * (__b58base ** i)

    result = ''
    while long_value >= 256:
        (div, mod) = divmod(long_value, 256)
        result = chr(mod) + result
        long_value = div
    result = chr(long_value) + result

    nPad = 0
    for c in v:
        if c == __b58chars[0]:

            nPad += 1