Example #1
0
class SlaveInfo(Serializable):
    FIELDS = [
        ("id", PrependedSizeBytesSerializer(4)),
        ("host", PrependedSizeBytesSerializer(4)),
        ("port", uint16),
        ("chain_mask_list", PrependedSizeListSerializer(4, ChainMask)),
    ]

    def __init__(self, id, host, port, chain_mask_list):
        self.id = id if isinstance(id, bytes) else bytes(id, "ascii")
        self.host = host if isinstance(host, bytes) else bytes(host, "ascii")
        self.port = port
        self.chain_mask_list = chain_mask_list
Example #2
0
class SlaveInfo(Serializable):
    FIELDS = [
        ("id", PrependedSizeBytesSerializer(4)),
        ("host", PrependedSizeBytesSerializer(4)),
        ("port", uint16),
        ("full_shard_id_list", PrependedSizeListSerializer(4, uint32)),
    ]

    def __init__(self, id, host, port, full_shard_id_list):
        self.id = id if isinstance(id, bytes) else bytes(id, "ascii")
        self.host = host if isinstance(host, bytes) else bytes(host, "ascii")
        self.port = port
        self.full_shard_id_list = full_shard_id_list
Example #3
0
class GetCodeResponse(Serializable):
    FIELDS = [("error_code", uint32),
              ("result", PrependedSizeBytesSerializer(4))]

    def __init__(self, error_code: int, result: bytes):
        self.error_code = error_code
        self.result = result
Example #4
0
class AddMinorBlockRequest(Serializable):
    """For adding blocks mined through JRPC"""

    FIELDS = [("minor_block_data", PrependedSizeBytesSerializer(4))]

    def __init__(self, minor_block_data):
        self.minor_block_data = minor_block_data
Example #5
0
class ExecuteTransactionResponse(Serializable):
    FIELDS = [("error_code", uint32),
              ("result", PrependedSizeBytesSerializer(4))]

    def __init__(self, error_code, result):
        self.error_code = error_code
        self.result = result
Example #6
0
class ConnectToSlavesResponse(Serializable):
    """ result_list must have the same size as salve_info_list in the request.
    Empty result means success otherwise it would a serialized error message.
    """

    FIELDS = [("result_list",
               PrependedSizeListSerializer(4,
                                           PrependedSizeBytesSerializer(4)))]

    def __init__(self, result_list):
        self.result_list = result_list
Example #7
0
class GetTransactionListByAddressResponse(Serializable):
    FIELDS = [
        ("error_code", uint32),
        ("tx_list", PrependedSizeListSerializer(4, TransactionDetail)),
        ("next", PrependedSizeBytesSerializer(4)),
    ]

    def __init__(self, error_code, tx_list, next):
        self.error_code = error_code
        self.tx_list = tx_list
        self.next = next
Example #8
0
class GetTransactionListByAddressRequest(Serializable):
    FIELDS = [
        ("address", Address),
        ("start", PrependedSizeBytesSerializer(4)),
        ("limit", uint32),
    ]

    def __init__(self, address, start, limit):
        self.address = address
        self.start = start
        self.limit = limit
Example #9
0
class GetAllTransactionsRequest(Serializable):
    FIELDS = [
        ("branch", Branch),
        ("start", PrependedSizeBytesSerializer(4)),
        ("limit", uint32),
    ]

    def __init__(self, branch, start, limit):
        self.branch = branch
        self.start = start
        self.limit = limit
Example #10
0
class GetTotalBalanceResponse(Serializable):
    FIELDS = [
        ("error_code", uint32),
        ("total_balance", biguint),
        ("next", PrependedSizeBytesSerializer(4)),
    ]

    def __init__(self, error_code: int, total_balance: int, next: bytes):
        self.error_code = error_code
        self.total_balance = total_balance
        self.next = next
Example #11
0
class Pong(Serializable):
    FIELDS = [
        ("id", PrependedSizeBytesSerializer(4)),
        ("shard_mask_list", PrependedSizeListSerializer(4, ShardMask)),
    ]

    def __init__(self, id, shard_mask_list):
        """ Empty slave_id and shard_mask_list means root """
        if isinstance(id, bytes):
            self.id = id
        else:
            self.id = bytes(id, "ascii")
        self.shard_mask_list = shard_mask_list
Example #12
0
class Pong(Serializable):
    FIELDS = [
        ("id", PrependedSizeBytesSerializer(4)),
        ("full_shard_id_list", PrependedSizeListSerializer(4, uint32)),
    ]

    def __init__(self, id, full_shard_id_list):
        """ Empty slave_id and full_shard_id_list means root """
        if isinstance(id, bytes):
            self.id = id
        else:
            self.id = bytes(id, "ascii")
        self.full_shard_id_list = full_shard_id_list
Example #13
0
class Ping(Serializable):
    FIELDS = [
        ("id", PrependedSizeBytesSerializer(4)),
        ("shard_mask_list", PrependedSizeListSerializer(4, ShardMask)),
        ("root_tip", Optional(RootBlock)),  # Initialize ShardState if not None
    ]

    def __init__(self, id, shard_mask_list, root_tip):
        """ Empty shard_mask_list means root """
        if isinstance(id, bytes):
            self.id = id
        else:
            self.id = bytes(id, "ascii")
        self.shard_mask_list = shard_mask_list
        self.root_tip = root_tip
Example #14
0
class SlaveInfo(Serializable):
    FIELDS = [
        ("id", PrependedSizeBytesSerializer(4)),
        ("ip", uint128),
        ("port", uint16),
        ("shard_mask_list", PrependedSizeListSerializer(4, ShardMask)),
    ]

    def __init__(self, id, ip, port, shard_mask_list):
        if isinstance(id, bytes):
            self.id = id
        else:
            self.id = bytes(id, "ascii")
        self.ip = ip
        self.port = port
        self.shard_mask_list = shard_mask_list