@staticmethod
def from_bytes(b):
    ' Extracts the r and s components from a byte string.\n\n        Args:\n            b (bytes): A 64-byte long string. The first 32 bytes are\n               extracted as the r component and the second 32 bytes\n               are extracted as the s component.\n\n        Returns:\n            Signature: A Signature object.\n\n        Raises:\n            ValueError: If signature is incorrect length\n        '
    if (len(b) != 64):
        raise ValueError('from_bytes: Signature length != 64.')
    r = int.from_bytes(b[0:32], 'big')
    s = int.from_bytes(b[32:64], 'big')
    return Signature(r, s)
Extracts the r and s components from a byte string.

Args:
    b (bytes): A 64-byte long string. The first 32 bytes are
       extracted as the r component and the second 32 bytes
       are extracted as the s component.

Returns:
    Signature: A Signature object.

Raises:
    ValueError: If signature is incorrect length
@staticmethod
def from_bytes(b):
    ' Extracts the r and s components from a byte string.\n\n        Args:\n            b (bytes): A 64-byte long string. The first 32 bytes are\n               extracted as the r component and the second 32 bytes\n               are extracted as the s component.\n\n        Returns:\n            Signature: A Signature object.\n\n        Raises:\n            ValueError: If signature is incorrect length\n        '
    if (len(b) != 64):
        raise ValueError('from_bytes: Signature length != 64.')
    r = int.from_bytes(b[0:32], 'big')
    s = int.from_bytes(b[32:64], 'big')
    return Signature(r, s)