def test_unblobCheck(): data = {0: 1} # Unsupported version. with pytest.raises(NotImplementedError): unblobCheck("test", 1, 0, data) # Unexpected pushes. with pytest.raises(DecredError): unblobCheck("test", 0, 2, data) # No errors. assert unblobCheck("test", 0, 1, data) is None
def unblob(b): """Satisfies the encode.Blobber API""" ver, d = encode.decodeBlob(b) unblobCheck("KDFParams", ver, len(d), {0: 5}) params = KDFParams(salt=ByteArray(d[2]), auth=ByteArray(d[4])) params.kdfFunc = d[0].decode("utf-8") params.hashName = d[1].decode("utf-8") params.iterations = encode.intFromBytes(d[3]) return params
def unblob(b): """Satisfies the encode.Blobber API""" ver, d = encode.decodeBlob(b) unblobCheck("VotingServiceProvider", ver, len(d), {0: 4}) piB = encode.extractNone(d[3]) pi = PurchaseInfo.unblob(piB) if piB else None return VotingServiceProvider( url=d[0].decode("utf-8"), apiKey=d[1].decode("utf-8"), netName=d[2].decode("utf-8"), purchaseInfo=pi, )
def unblob(b): """Satisfies the encode.Blobber API""" ver, d = encode.decodeBlob(b) unblobCheck("PurchaseInfo", ver, len(d), {0: 7}) iFunc = encode.intFromBytes return PurchaseInfo( addr=d[0].decode("utf-8"), fees=encode.floatFromBytes(d[1]), script=ByteArray(d[2]), ticketAddr=d[3].decode("utf-8"), vBits=iFunc(d[4]), vBitsVer=iFunc(d[5]), stamp=iFunc(d[6]), )
def unblob(b): """Satisfies the encode.Blobber API""" ver, d = decodeBlob(b) unblobCheck("Address", ver, len(d), {0: 2}) return decodeAddress(d[1].decode(), nets.parse(d[0].decode()))